SQL Date 函数
SQL Date 函数
当我们处理日期时,最难的任务恐怕是确保所插入的日期的格式,与数据库中日期列的格式相匹配。
只要数据包含的只是日期部分,运行查询就不会出问题。但是,如果涉及时间,情况就有点复杂了。
SQL Server Date 函数
下面的表格列出了 SQL Server 中最重要的内建日期函数:
函数 | 描述 |
---|---|
GETDATE() | 返回当前日期和时间 |
DATEPART() | 返回日期/时间的单独部分 |
DATEADD() | 在日期中添加或减去指定的时间间隔 |
DATEDIFF() | 返回两个日期之间的时间 |
CONVERT() | 用不同的格式显示日期/时间 |
SQL Date 数据类型
SQL Server 使用下列数据类型在数据库中存储日期或日期/时间值:
DATE - 格式 YYYY-MM-DD
DATETIME - 格式: YYYY-MM-DD HH:MM:SS
SMALLDATETIME - 格式: YYYY-MM-DD HH:MM:SS
TIMESTAMP - 格式: 唯一的数字
select GETDATE() as 当前时间
输出结果:
注释:上面的时间部分精确到毫秒。
DATEPART() 函数用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等。
date 参数是合法的日期表达式。datepart 参数可以是下列的值:
datepart | 缩写 |
---|---|
年 | yy, yyyy |
季度 | qq, q |
月 | mm, m |
年中的日 | dy, y |
日 | dd, d |
周 | wk, ww |
星期 | dw, w |
小时 | hh |
分钟 | mi, n |
秒 | ss, s |
毫秒 | ms |
微妙 | mcs |
纳秒 | ns |
select DATEPART(YY,GETDATE()) as 当前年份,DATEPART(MM,GETDATE()) as 当前月份,DATEPART(DD,GETDATE()) as 当前日,datepart(hh,getdate()) as 当前小时
输出结果:
DATEADD() 函数在日期中添加或减去指定的时间间隔。
select DATEADD(DD,2,GETDATE())as 添加2天后的日期,DATEADD(MM,-3,GETDATE()) as 减去3个月后的日期
输出结果:
DATEDIFF() 函数返回两个日期之间的时间。
select DATEDIFF(DD,'2008-08-08',GETDATE()) as 已经过了多少天,DATEDIFF(YY,GETDATE(),'2020-02-20') as 经过多少年
输出结果:
SQL Server CONVERT() 函数
参考《CONVERT函数》