MSSQL获得时间之路(获取mssql的时间)

时间决定一切,而MSSQL中记录时间十分重要,学习MSSQL获得时间之路就不可避免了。让我们看看MSSQL中如何获得时间,这一切都要从了解MSSQL中的数据类型开始。

MSSQL中时间类型有datetime和smalldatetime两种,在使用时要根据情况选择不同类型,datetime存储范围从1753-1-1到9999-12-31,精度为0.3秒,smalldatetime存储范围从1900-1-1到2079-6-6,精度为1分钟,显然datatime的精度更高,但是只能存储如此广泛的时间范围。

获得时间的关键点就是调用MSSQL内置函数,常用的有GET DATE(),GETUTCDATE(),SYSDATETIME(),SYSUTCDATETIME(),他们对应的返回值都是datetime,他们的区别是前者是本地时间,后者为UTC时间,UTC为全球时间,要注意GETDATE()或SYSDATETIME()返回的时间中包含毫秒。

实际开发中,有时候也会需要获取字符串格式的时间,此时我们可以使用CONVERT()函数,比如我们要将GETDATE() 返回的时间格式转换为字符串,可以这样使用CONVERT()函数:

SELECT CONVERT(VARCHAR(20),GETDATE(),120)

其中120为格式化字符串,详见官方文档,有时候还需要将datetime格式的时间格式转换为更精确的时间,此时可以使用DATEPART()函数获取相应的时间组件,比如说获取小时:

SELECT DATEPART(hour,getdate())

有时候我们也需要格式化时间字符串,这时候format函数就能派上用场了:

SELECT FORMAT(getdate(),’yyyy-MM-dd HH:mm:ss’)

上述几种函数配合使用应该能满足大部分情况下时间的处理了,但有时候还需要精细的操作,比如增加某一字段的时间,修改某一字段的时间格式等,此时还是可以使用T-SQL里面的DATEADD()或者DATEDIFF()等函数,如

Update TableName Set =DATEADD(HOUR,2,)

以上是MSSQL获得时间的一般过程,掌握了这些知识,使用MSSQL处理时间也是一件比较容易的事情。


数据运维技术 » MSSQL获得时间之路(获取mssql的时间)