清风的blog 优然探索

SQLSERVER时间函数

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 毫秒

2011年8月16日 | 发布:admin | 分类:数据库 | 评论:0

发表留言: