我有一个字符串(varchar)Date
格式的数据字段yyyyMMdd
。如何在某个日期之前替换所有内容,例如 20180201,到某个月份,例如 2018 年 3 月!?只改年月,保留日。
示例:字符串20160913将更改为20180313,但20180224将保持原样,因为它在20180201之后。
将该字符串转换为日期以搜索大于日期的日期,并使用子字符串提取日期部分以构建新的日期字符串。
declare @NewYear varchar(4) = '2018'
declare @NewMonth varchar(2) = '03'
declare @PivotDate date = '2018-02-01'
update myTable set MyField = @NewYear + @NewMonth + substring(MyField, 6, 2)
where convert(date, MyField, 112) > @PivotDate
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句