sqlserver 14位字符串yyyyMMddHHmmss格式 转换为 日期格式

数据库中字段是字符型,值格式为yyyyMMddHHmmss,要将日期减少40秒,下面是具体的sql语句

第一步、将字符型转为日期型

select convert(datetime,substring(left(MMS_SendTime,8)+' ' + substring(MMS_SendTime,9,2)+':' + substring(MMS_SendTime,11,2)+':' + substring(MMS_SendTime,13,2),1,17)) from [mms_send]

第二步、日期减少40秒

select dateadd(ss,-41,convert(datetime,substring(left(MMS_SendTime,8)+' ' + substring(MMS_SendTime,9,2)+':' + substring(MMS_SendTime,11,2)+':' + substring(MMS_SendTime,13,2),1,17))) from [mms_send]

第三步、再将日期转换成字符型

update [mms_send] set MMS_SendTime=replace(replace(replace(convert(varchar,dateadd(ss,-41,convert(datetime,substring(left(MMS_SendTime,8)+' ' + substring(MMS_SendTime,9,2)+':' + substring(MMS_SendTime,11,2)+':' + substring(MMS_SendTime,13,2),1,20))),120),'-',''),':',''),' ','')

原文地址:https://www.cnblogs.com/chendaoyin/p/2703609.html