日期:2014-05-18  浏览次数:20458 次

日期查询
2008-01
2008-05
2008-10
2008-12
以上是字符类型
把显示的年份用sql server写成上一个月的日期

------解决方案--------------------
SQL code
SELECT DATEDIFF(month, -1, Col1 + '-01') FROM TABLE1

------解决方案--------------------
SQL code
--> 测试数据: @T
declare @T table (dt varchar(7))
insert into @T
select '2008-01' union all
select '2008-05' union all
select '2008-10' union all
select '2008-12'

select dt,convert(varchar(7),dateadd(month,-1,dt+'-01'),120) predt
from @T

/*
dt      predt
------- -------
2008-01 2007-12
2008-05 2008-04
2008-10 2008-09
2008-12 2008-11

(4 row(s) affected)

*/