一、sql server日期时间函数
Sql Server中的日期与时间函数
1. 当前系统日期、时间
![](https://i-blog.csdnimg.cn/blog_migrate/be00e52046dec9be074ce7ab3ff9758a.png)
select getdate()
![](https://i-blog.csdnimg.cn/blog_migrate/bcc811a0c179a8fa74bf855170d5c757.png)
2. dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值
![](https://i-blog.csdnimg.cn/blog_migrate/370036059b712d83b0b7d24dc96619a3.png)
例如:向日期加上2天
select dateadd(day,2,'2004-10-15') --返回:2004-10-17 00:00:00.000
![](https://i-blog.csdnimg.cn/blog_migrate/881db3aa8f24e0425fab3afdd531f4e6.png)
3. datediff 返回跨两个指定日期的日期和时间边界数。
select datediff(day,'2004-09-01','2004-09-18') --返回:17
![](https://i-blog.csdnimg.cn/blog_migrate/88e60b57acfb5d26de1d97aac48f4d49.png)
4. datepart 返回代表指定日期的指定日期部分的整数。
select DATEPART(month, '2004-10-15') --返回 10
![](https://i-blog.csdnimg.cn/blog_migrate/cbcb0c2f9bb1b42b0d4282bc26d71dd9.png)
5. datename 返回代表指定日期的指定日期部分的字符串
select datename(weekday, '2004-10-15') --返回:星期五
![](https://i-blog.csdnimg.cn/blog_migrate/88d50a2430d8613964e0057156aa29b7.png)
6. day(), month(),year() --可以与datepart对照一下
![](https://i-blog.csdnimg.cn/blog_migrate/a5999390f76e00c9a8d89bb0b1f074ee.png)
select 当前日期=convert(varchar(10),getdate(),120)
![](https://i-blog.csdnimg.cn/blog_migrate/843ebadd11801298b485a5a051639df0.png)
,当前时间=convert(varchar(8),getdate(),114)
![](https://i-blog.csdnimg.cn/blog_migrate/5866b5a5629909c44b3969208d155cdb.png)
select datename(dw,'2004-10-15')
![](https://i-blog.csdnimg.cn/blog_migrate/5f6f1ed15b46314559c1911467432705.png)
select 本年第多少周=datename(week,'2004-10-15')
![](https://i-blog.csdnimg.cn/blog_migrate/7acc7425f18efd3a2498c5062731374d.png)
,今天是周几=datename(weekday,'2004-10-15')
二、日期格式转换
select CONVERT(varchar, getdate(), 120 )
2004-09-12 11:06:08
select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','')
20040912110608
select CONVERT(varchar(12) , getdate(), 111 )
2004/09/12
select CONVERT(varchar(12) , getdate(), 112 )
20040912![](https://i-blog.csdnimg.cn/blog_migrate/095ff3430701615a9a31347a5cecbd36.png)
select CONVERT(varchar(12) , getdate(), 102 )
2004.09.12
三、 其它我不常用的日期格式转换方法:
![](https://i-blog.csdnimg.cn/blog_migrate/1466828db846d9e28fde2d2a45470270.png)
select CONVERT(varchar(12) , getdate(), 101 )
![](https://i-blog.csdnimg.cn/blog_migrate/7bfdcadd90fe184bec31bc0b58f00fd4.png)
09/12/2004
![](https://i-blog.csdnimg.cn/blog_migrate/179bdb74f19a54932cf70db48329990c.png)
select CONVERT(varchar(12) , getdate(), 103 )
![](https://i-blog.csdnimg.cn/blog_migrate/5c4ec9bf5198d0936cc49e9cbc2c041e.png)
12/09/2004
![](https://i-blog.csdnimg.cn/blog_migrate/e6fe303179e72548e0b265c6e987e9e6.png)
select CONVERT(varchar(12) , getdate(), 104 )
![](https://i-blog.csdnimg.cn/blog_migrate/e5f560fb20fa1ea649c0a4d21652f280.png)
12.09.2004
![](https://i-blog.csdnimg.cn/blog_migrate/fc39bd69231de1b7b3c67c3024d75a91.png)
select CONVERT(varchar(12) , getdate(), 105 )
![](https://i-blog.csdnimg.cn/blog_migrate/c09236c9a96247625c2297a3afbeaf0a.png)
12-09-2004
![](https://i-blog.csdnimg.cn/blog_migrate/8b0cbb375b2bc5e545dc8a3c14c10cea.png)
select CONVERT(varchar(12) , getdate(), 106 )
![](https://i-blog.csdnimg.cn/blog_migrate/105a7d43d9d05609b2bb30b60c49387f.png)
12 09 2004
![](https://i-blog.csdnimg.cn/blog_migrate/cbf7672c87756d1eb6f1cae384447c82.png)
select CONVERT(varchar(12) , getdate(), 107 )
![](https://i-blog.csdnimg.cn/blog_migrate/a7f13e629b9d6bb9eab13e7c2f618fe2.png)
09 12, 2004
![](https://i-blog.csdnimg.cn/blog_migrate/a46fe71fbd1bfab17efbfdffc5321c20.png)
select CONVERT(varchar(12) , getdate(), 108 )
![](https://i-blog.csdnimg.cn/blog_migrate/a39743bbb1bb73b515974849820fd49d.png)
11:06:08
![](https://i-blog.csdnimg.cn/blog_migrate/96075a4a4ec168e689d761d945703849.png)
select CONVERT(varchar(12) , getdate(), 109 )
![](https://i-blog.csdnimg.cn/blog_migrate/68f6ba35de54577d1d17b08fb899a4a5.png)
09 12 2004 1
![](https://i-blog.csdnimg.cn/blog_migrate/4eb8c74f65b03d36f80181a665b5282f.png)
select CONVERT(varchar(12) , getdate(), 110 )
![](https://i-blog.csdnimg.cn/blog_migrate/0ab4b8a0e529e0fa2eaf2d58f2dfa481.png)
09-12-2004
![](https://i-blog.csdnimg.cn/blog_migrate/eaeb4bb1a57f95d2a9d79c63ed841f97.png)
select CONVERT(varchar(12) , getdate(), 113 )
![](https://i-blog.csdnimg.cn/blog_migrate/dbc0ce96568462bd768b273d62630ebd.png)
12 09 2004 1
![](https://i-blog.csdnimg.cn/blog_migrate/165d88a58fd70f814b1736f8fabae657.png)
select CONVERT(varchar(12) , getdate(), 114 )
![](https://i-blog.csdnimg.cn/blog_migrate/3cfcaf9a77a30157c27ffd623752f586.png)
11:06:08.177
四、举例:
1.GetDate() 用于sql server :select GetDate()
2.DateDiff('s','2005-07-20','2005-7-25 22:56:32') 返回值为 514592 秒
DateDiff('d','2005-07-20','2005-7-25 22:56:32') 返回值为 5 天
3.DatePart('w','2005-7-25 22:56:32') 返回值为 2 即星期一(周日为1,周六为7)
DatePart('d','2005-7-25 22:56:32') 返回值为 25即25号
DatePart('y','2005-7-25 22:56:32') 返回值为 206即这一年中第206天
DatePart('yyyy','2005-7-25 22:56:32') 返回值为 2005即2005年
![](https://i-blog.csdnimg.cn/blog_migrate/ecf86487f32dcdaa6359c54b4abb2410.png)
![](https://i-blog.csdnimg.cn/blog_migrate/a0b5f6487eb5d7d6eb0cf53e0d39184a.png)