MSSQL中的时间运算上手指南(mssql 时间运算)

MSSQL中的时间运算上手指南

在软件开发中,对时间的运算是常有的需求,更何况,MSSQL数据库也是经常与时间需求结合使用。为帮助广大开发者能够更好的掌握时间运算技术,下面就教大家MSSQL中时间运算的上手技巧:

1.了解DATE范围

MSSQL数据库中的时间类型DATE的范围可以追溯到0001-01-01,最近的时间是9999-12-31。使用此类时间类型,需要注意,小于0001-01-01或比9999-12-31大的值,会引发错误,你可以尝试使用下面的代码:

“`sql

DECLARE @date1 DATETIME = ‘1900-01-01’

SELECT CONVERT(SMALLDATETIME,@date1)

DECLARE @date2 DATETIME = ‘3000-01-01’

SELECT CONVERT(SMALLDATETIME,@date2)


通过上面的代码可以清楚的发现:@date1可以正常转换,而@date2是无法转换的,发出了错误提示"无效的时间值"。

2.利用新增函数

MSSQL 2017中新增了一系列的函数,可以快速解决时间运算问题,例如YEAR,MONTH,DAY等等函数,如下所示:

```sql
--返回当前日期的年份
SELECT YEAR(GETDATE())
--返回当前日期的月份
SELECT MONTH(GETDATE())
--返回当前日期的天数
SELECT DAY(GETDATE())

3.利用差值

MSSQL中计算日期的差值,也是值得一提的地方。它可以将一个日期和另一个日期作比较,得到两者之间的差值,例如:

“`sql

–计算两个日期之间的差值,单位是天

SELECT DATEDIFF(DAY,’2017-02-19′,’2017-03-03′)


结果显示:12

MSSQL中的时间运算很容易上手,但是只要涉及时间的运算,不管是正确率,还是效率,都要合理的处理好,才能发挥更好的作用。专业的开发者一定要掌握时间运算的技术,好的掌握,才能更好的掌控时间。

数据运维技术 » MSSQL中的时间运算上手指南(mssql 时间运算)