日期字符串替换问题 .解决立马解帖

happy664618843 2016-09-06 11:45:52
数据库中table1表中有一个数据类型为Datetime时间字符串:2016-06-01 00:02:00.000。

需要将table1中这个字段的值将06替换成09。请问各位大神咱解决?
...全文
160 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
中国风 2016-09-06
  • 打赏
  • 举报
回复
DECLARE @dt DATETIME='2016-06-01 00:02:00.000'

SELECT REPLACE(CONVERT(VARCHAR(19),@dt,120),'-06-','-09-')
/*
2016-09-01 00:02:00
*/
毫秒为0时忽略
中国风 2016-09-06
  • 打赏
  • 举报
回复
直接加3个月就行了,替换需转成字符串再替换效率不高
中国风 2016-09-06
  • 打赏
  • 举报
回复
DECLARE @dt DATETIME='2016-06-01 00:02:00.000'

SELECT DATEADD(mm,3,@dt)
zbdzjx 2016-09-06
  • 打赏
  • 举报
回复
只是替换月份?还是不管是月份、天、时、分、秒,都替换?
happy664618843 2016-09-06
  • 打赏
  • 举报
回复
引用 4 楼 roy_88 的回复:
DECLARE @dt DATETIME='2016-06-01 00:02:00.000'

SELECT REPLACE(CONVERT(VARCHAR(19),@dt,120),'-06-','-09-')
/*
2016-09-01 00:02:00
*/
毫秒为0时忽略
谢谢! 结帖

34,589

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧