SQL日期函数
文章目录
一、日期数据类型
datetime | 8字节 | 2020-03-24 11:20:46.840 |
---|---|---|
smalldatetime | 4字节 | 2020-03-24 11:21:00 |
date | 3字节 | 2020-03-24 |
time | 11:22:29.7430000 |
二、日期函数
getime()获得当前系统的时间
datepart()和datename()均获得日期的一部分,前者返回整型,后者返回字符串
1 getdate()
返回当前系统时间
2 datepart()(整数)
返回日期或时间的一部分
datepart(日期单位,日期)
select datepart(year,getdate())
2020
select datepart(weekday,getdate())
3
或许可以用这些函数代替。DAY(getdate())、MONTH(getdate())、YEAR(getdate())
3 datename()(字符串)
返回日期或时间的一部分
select datename(month,getdate())
03
select datename(weekday ,getdate())
星期三
4dateadd(日期单位,常数,指定日期)
dateadd(日期单位,常数,指定日期) 返回指定日期加上一段时间后的日期,常数可以为负数
获取当前日期的5天后的日期
select dateadd(day,5,getdate())
日期单位
datepart | abbreviations |
---|---|
year | yy,yyyy |
quarter | qq,q |
mounth | mm,m |
dayofyear | dy,y |
day | d,dd |
week | ww,wk |
weekday | dw,w |
minute | mi,n |
second | ss,s |
ms 毫秒,微秒 mcs ,ns纳秒
5日期1-日期2=datediff(日期单位,日期1,日期2)
select datediff(year,'2018-01-01',getadate())
2
6 convert ()用不同的格式显示日期/时间
CONVERT转换时间:
select convert(date,getdate()) --输出2020-03-24
SELECT CONVERT(DateTime,'2011-07-11') --输出 2011-07-11 00:00:00.000
select CONVERT(varchar(10), GETDATE(), 120) --输出 2020-03-24
select CONVERT(varchar(10), GETDATE(), 111) --输出 2020/03/24
120,111都是指定的日期格式