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 当前时间

输出结果:

image.png

注释:上面的时间部分精确到毫秒。


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 当前小时

输出结果:

image.png


DATEADD() 函数在日期中添加或减去指定的时间间隔。

select DATEADD(DD,2,GETDATE())as 添加2天后的日期,DATEADD(MM,-3,GETDATE()) as 减去3个月后的日期

输出结果:

image.png


DATEDIFF() 函数返回两个日期之间的时间。

select DATEDIFF(DD,'2008-08-08',GETDATE()) as 已经过了多少天,DATEDIFF(YY,GETDATE(),'2020-02-20') as 经过多少年

输出结果:

image.png


SQL Server CONVERT() 函数


参考《CONVERT函数

更新日期: 2018年08月26日
文章标签: SQLSQL语句基础MSSQLDATE
文章链接: http://www.qljia.com/post/71.html