发表评论
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
1.一个月第一天的
SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)
2.本周的星期一
SELECT DATEADD(wk, DATEDIFF(wk,0,getdate()), 0)
3.一年的第一天
SELECT DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)
4.季度的第一天
SELECT DATEADD(qq, DATEDIFF(qq,0,getdate()), 0)
5.当天的半夜
SELECT DATEADD(dd, DATEDIFF(dd,0,getdate()), 0)
6.上个月的最后一天
SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(mm,0,getdate()), 0))
7.去年的最后一天
SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate()), 0))
8.本月的最后一天
SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0))
9.本年的最后一天
SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate())+1, 0))
10.本月的第一个星期一
select DATEADD(wk, DATEDIFF(wk,0,dateadd(dd,6-datepart(day,getdate()),getdate())), 0)
1.year(date) 返回年份
month(date) 返回月份
day(date)返回日数
getdate()以sql规定的标准内部格式返回系统当前的日期和时间
dateadd(datepart,number,date)返回datetime或smalldatetime类型的数据,其值为date值加上datepart和number参数指定的时间间隔
datediff(datepart,date1,date2)返回date1和date2间的时间间隔,其单位由datepart参数决定
datename(detepart,date)返回日期中指定部分的字符串
datepart(datepart,date)返回日期中指定对应的整数值
2. 日期元素对应取值范围
元素名称 缩写 取值范围
year yy 1753-9999
quarter qq 1-4
month mm 1-12
dayof yeat dy 1-366
day dd 1-31
week wk 0-51
hour hh 0-23
minute mi 1-59
second ss 1-59
millsecond ms 0-999
3.系统提供的datetime和smalldatetime类型数据的转换样式
样式1为年的样式为yy,样式2年的格式为yyyy
样式1 样式2
mm/dd/yy usa 1 101
yy.mm.dd ansi 2 102
dd/mm/yy french 3 103
dd.mm.yy german 4 104
dd-mm-yy italian 5 105
dd mon yy - 6 106
mon dd,yy - 7 107
hh:mm:ss - 8 108
mon dd yyyy
hh:mi:ss:mmmmam - 109或9
mm-dd-yy usa 10 110
yy/mm/dd japan 11 111
yymmdd iso 12 112
dd mon yyyy - -113或13
hh:mm:ss:mmm(Am) 14 114
4.select convert(char(6),getdate(),12)
getdate() 返回日期
datename(datepart,date_expr) 返回名称如 June
datepart(datepart,date_expr) 取日期一部份
datediff(datepart,date_expr1.dateexpr2) 日期差
dateadd(datepart,number,date_expr) 返回日期加上 number
上述函数中datepart的
写法 取值和意义
yy 1753-9999 年份
qq 1-4 刻
mm 1-12 月
dy 1-366 日
dd 1-31 日
wk 1-54 周
dw 1-7 周几
hh 0-23 小时
mi 0-59 分钟
ss 0-59 秒
ms 0-999 毫秒
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。