我有一个'201906192359'的日期格式存储为字符串,但我需要添加5分钟,它意识到时间或日期的变化。因此,我将上述内容转换为datetime以添加5分钟,但现在需要将其恢复为yyyymmddhhmm。
DECLARE @test varchar(50);
SET @test = '201906192359';
PRINT @test;
set @test = convert(datetime,substring(@test,1,8)) +
DATEADD(hh,0+substring(@test,9,2),0) +
DATEADD(mi,5+SUBSTRING(@test,11,2),0)
PRINT @test;
我所看到的例子包含了秒,我无法调整我的代码来匹配。任何指点都将不胜感激。
谢谢您。
2条答案
按热度按时间hujrc8aj1#
这里有一条路。
如果您使用的是sql server 2012或更高版本,我相信有人会推荐以下内容:
虽然后者看起来相当圆滑,但format函数使其速度相对较慢,因此我建议不要(我不经常使用这个词)使用format函数。
pu82cl6c2#
你应该修正你的数据!不要在字符串中存储日期/时间值。可以将值转换为
datetime
使用:然后可以使用
dateadd()
.