共计 1817 个字符,预计需要花费 5 分钟才能阅读完成。
一、以下是 SQL 日期截取 & SQL Server 日期比较日期查询常用语句
select CONVERT(varchar, getdate(), 120 )
2004-09-12 11:06:08
select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),’-‘,”),’ ‘,”),’:’,”)
20040912110608
select COUNVRT(varchar(12) , getdate(), 23)
2008-04-01
select CONVERT(varchar(12) , getdate(), 111)
2004/09/12
select CONVERT(varchar(12) , getdate(), 112)
20040912
select CONVERT(varchar(12) , getdate(), 102)
2004.09.12
二、其它不常用的日期格式转换方法:
select CONVERT(varchar(12) , getdate(), 101)
09/12/2004
select CONVERT(varchar(12) , getdate(), 103)
12/09/2004
select CONVERT(varchar(12) , getdate(), 104)
12.09.2004
select CONVERT(varchar(12) , getdate(), 105)
12-09-2004
select CONVERT(varchar(12) , getdate(), 106)
12 09 2004
select CONVERT(varchar(12) , getdate(), 107)
09 12, 2004
select CONVERT(varchar(12) , getdate(), 108)
11:06:08
select CONVERT(varchar(12) , getdate(), 109)
09 12 2004 1
select CONVERT(varchar(12) , getdate(), 110)
09-12-2004
select CONVERT(varchar(12) , getdate(), 113)
12 09 2004 1
select CONVERT(varchar(12) , getdate(), 114)
11:06:08.177
三、其他日期处理方法
1. 去掉时分秒
declare @ datetime
set @ = getdate() –‘2003-7-1 10:00:00’
SELECT @,DATEADD(day, DATEDIFF(day,0,@), 0)
2. 显示星期几
select datename(weekday,getdate())
3. 如何取得某个月的天数
declare @m int
set @m=2 – 月份
select datediff(day,’2003-‘+cast(@m as varchar)+’-15′ ,’2003-‘+cast(@m+1 as varchar)+’-15′)
另外,取得本月天数
select datediff(day,cast(month(GetDate()) as varchar)+’-‘+cast(month(GetDate()) as varchar)+’-15′ ,cast(month(GetDate()) as varchar)+’-‘+cast(month(GetDate())+1 as varchar)+’-15′)
或者使用计算本月的最后一天的脚本,然后用 DAY 函数区最后一天
SELECT Day(dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0)))
4. 判断是否闰年
SELECT case day(dateadd(mm, 2, dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)))) when 28 then ‘ 平年 ’ else ‘ 闰年 ’ end
或者
select case datediff(day,datename(year,getdate())+’-02-01′,dateadd(mm,1,datename(year,getdate())+’-02-01′))
when 28 then ‘ 平年 ’ else ‘ 闰年 ’ end
原文地址: SQL Server 日期查询常用语句