/*
Project:时间格式展示
Author :jame
备注 :mssqlserver 时间精确到3ms
*/
---时间格式整理
/*
样式 使用国家 具体显示
101 美国 mm/dd/yyyy
102 ANSI yy.mm.dd
103 英国/法国 dd/mm/yy
104 德国 dd.mm.yy
105 意大利 dd-mm-yy
106 - dd mon yy
107 - mon dd,yy
108 - hh:mm:ss
110 美国 mm-dd-yy
111 日本 yy/mm/dd
112 ISO yymmdd
0 或 100 (*) 默认值 mon dd yyyy hh:miAM(或 PM)
9 或 109 (*) 默认值 + 毫秒 mon dd yyyy hh:mi:ss:mmmAM(或 PM)
13 或 113 (*) 欧洲默认值 + 毫秒 dd mon yyyy hh:mm:ss:mmm(24h)
114 - hh:mi:ss:mmm(24h)
20 或 120 (*) ODBC 规范 yyyy-mm-dd hh:mm:ss[.fff]
21 或 121 (*) ODBC 规范(带毫秒) yyyy-mm-dd hh:mm:ss[.fff]
126(***) ISO8601 yyyy-mm-dd Thh:mm:ss:mmm(不含空格)
130* 科威特 dd mon yyyy hh:mi:ss:mmmAM
131* 科威特 dd/mm/yy hh:mi:ss:mmmAM
*/
---获取本月的最后一天
select dateadd(ms,-3,DATEADD(mm, datediff(mm,0,getdate())+1, 0))
---获取本月的第一天
select dateadd(mm,datediff(mm,0,getdate()),0)
---获取今年的最后天
select dateadd(ms,-3,dateadd(yy,datediff(YY,0,getdate())+1,0))
---获取去年的最后天
select dateadd(ms,-3,dateadd(yy,datediff(YY,0,getdate()),0))
---获取当前时间的时分【秒或微秒】
select
convert(varchar(23),getdate(),102) as 年月日,
convert(varchar(23),getdate(),108) as 时分秒,
convert(varchar(23),getdate(),114) as 时分微秒
---计算本月有多少天
select datediff(dd,dateadd(mm,datediff(mm,0,dateadd(mm,0,getdate())),0),
dateadd(mm,datediff(mm,0,dateadd(mm,0,getdate()))+1,0))