当前位置: 代码迷 >> Sql Server >> sql语句如何实现按照一定规则把年月日时间转化成年月时间
  详细解决方案

sql语句如何实现按照一定规则把年月日时间转化成年月时间

热度:23   发布时间:2016-04-24 23:27:24.0
sql语句怎么实现按照一定规则把年月日时间转化成年月时间
比如 时间格式为2012-12-25,判断当日>25变成2013-01,当日期<=25,变成2012-12,怎么用sql语句实现呢,求各位帮忙下,

------解决方案--------------------
declare @dt datetime = '2013-02-26'
select convert(char(7),dateadd(month,1,@dt-25),120) --2013-03

set @dt = '2013-02-25'
select convert(char(7),dateadd(month,1,@dt-25),120) --2013-02

------解决方案--------------------
declare @dt datetime = '2013-02-26'
select convert(char(7), (case when day(@dt)>25 then dateadd(month,1,@dt) else @dt end), 120) --2013-03

set @dt = '2013-02-25'
select convert(char(7), (case when day(@dt)>25 then dateadd(month,1,@dt) else @dt end), 120) --2013-02

------解决方案--------------------
使用convert将日期转换称字符,然后使用substring函数截取进行比较,根据比较结果变量赋值。
  相关解决方案