SQL Server日期相关小结

本文详细介绍了SQL中关于日期时间的操作函数,包括获取当前日期时间、日期运算、日期差计算、日期部分提取及转换成字符串的方法,并展示了不同转换格式的结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、日期/时间函数
1.当前系统日期、时间

 select GETDATE()  → 2012-02-24 19:08:40.573

2.DATEADD 在给定时间上增加一段时间,返回datetime

 select DATEADD(DAY, 1, GETDATE())  → 2012-02-25 19:10:15.817

3.DATEDIFF 返回两个日期的日期的事件差。 

select DATEDIFF(DAY,'2012-02-14',GETDATE())  → 10

4.DATEPART 返回给定日期的指定日期部分的整数表示。 

select DATEPART(MONTH, GETDATE())  → 2

5.DATENAME 返回给定日期的指定日期部分字符串表示。

select DATENAME(MONTH, GETDATE())  → 02

 6.YEAR(),MONTH(),DAY(),等同于DATEPART

select MONTH(GETDATE())  → 2

 7.时间缩写 

时间缩写
缩写含义值范围
YEAR、YY、YYYY 
QUARTER、QQ、Q季度1~4
MONTH、MM、M1~12
DAYOFYEAR、DY、Y天,一年中的第几天1~366
DAY、DD、D1~31
WEEKDAY、DW、W星期几星期一~星期日
WEEK、WK、WW周,一年中的第几周1~53
HOUR、 HH、 H0~59
MINUTE、MI、N0~59
SECOND、SS、S0~59
MILLISECOND、MS毫秒0~999
NANOSECOND、NS纳秒 


以下缩写含义可以参照MSDN的联机文档
http://msdn.microsoft.com/zh-cn/library/ms186724.aspx
ISO_WEEK、ISOWK、ISOWW
MCS、MICROSECOND
TZ、TZOFFSET

二、日期时间转换为字符串后的结果格式。

select CONVERT(varchar(100), GETDATE(), 0)   → 02 24 2012 6:46PM    
select CONVERT(varchar(100), GETDATE(), 1)   → 02/24/12    
select CONVERT(varchar(100), GETDATE(), 2)   → 12.02.24    
select CONVERT(varchar(100), GETDATE(), 3)   → 24/02/12    
select CONVERT(varchar(100), GETDATE(), 4)   → 24.02.12    
select CONVERT(varchar(100), GETDATE(), 5)   → 24-02-12    
select CONVERT(varchar(100), GETDATE(), 6)   → 24 02 12    
select CONVERT(varchar(100), GETDATE(), 7)   → 02 24,12     
select CONVERT(varchar(100), GETDATE(), 8)   → 18:49:43    
select CONVERT(varchar(100), GETDATE(), 9)   → 02 24 2012 6:50:15:309PM    
select CONVERT(varchar(100), GETDATE(), 10)  → 02-24-12    
select CONVERT(varchar(100), GETDATE(), 11)  → 12/02/24    
select CONVERT(varchar(100), GETDATE(), 12)  → 120224    
select CONVERT(varchar(100), GETDATE(), 13)  → 24 02 2012 18:52:25:223    
select CONVERT(varchar(100), GETDATE(), 14)  → 18:53:08:357    
select CONVERT(varchar(100), GETDATE(), 20)  → 2012-02-24 18:53:38    
select CONVERT(varchar(100), GETDATE(), 21)  → 2012-02-24 18:54:32.087    
select CONVERT(varchar(100), GETDATE(), 22)  → 02/24/12 6:56:41 PM    
select CONVERT(varchar(100), GETDATE(), 23)  → 2012-02-24    
select CONVERT(varchar(100), GETDATE(), 24)  → 18:54:52    
select CONVERT(varchar(100), GETDATE(), 25)  → 2012-02-24 18:57:13.530    
select CONVERT(varchar(100), GETDATE(), 100) → 02 24 2012 6:58PM    
select CONVERT(varchar(100), GETDATE(), 101) → 02/24/2012    
select CONVERT(varchar(100), GETDATE(), 102) → 2012.02.24    
select CONVERT(varchar(100), GETDATE(), 103) → 24/02/2012    
select CONVERT(varchar(100), GETDATE(), 104) → 24.02.2012    
select CONVERT(varchar(100), GETDATE(), 105) → 24-02-2012    
select CONVERT(varchar(100), GETDATE(), 106) → 24 02 2012    
select CONVERT(varchar(100), GETDATE(), 107) → 02 24,2012    
select CONVERT(varchar(100), GETDATE(), 108) → 19:01:35    
select CONVERT(varchar(100), GETDATE(), 109) → 02 24 2012 7:01:58:820PM    
select CONVERT(varchar(100), GETDATE(), 110) → 02-24-2012    
select CONVERT(varchar(100), GETDATE(), 111) → 2012/02/24    
select CONVERT(varchar(100), GETDATE(), 112) → 20120224    
select CONVERT(varchar(100), GETDATE(), 113) → 24 02 2012 19:03:41:357    
select CONVERT(varchar(100), GETDATE(), 114) → 19:04:08:013    
select CONVERT(varchar(100), GETDATE(), 120) → 2012-02-24 19:05:02    
select CONVERT(varchar(100), GETDATE(), 121) → 2012-02-24 19:05:18.747    
select CONVERT(varchar(100), GETDATE(), 126) → 2012-02-24T19:05:39.697    
select CONVERT(varchar(100), GETDATE(), 130) → 2 ???? ?????? 1433 7:06:19:560PM

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值