MSSQL中利用GETDATE函数获取时间(mssql 获取时间函数)
MSSQL中利用GETDATE函数获取时间
Microsoft SQL Server(MSSQL)的内置函数GETDATE()可以用来获取系统当前的日期时间。其返回值是一个datatime数据类型,获取到的时间包含有秒,如果仅需要获取日期,可以将其转换为date数据类型,也可以将其截取,只使用关心的部分。
GETDATE()函数非常适合用来生成自增序列,这样可以避免数据容量的增长。例如:
CREATE TABLE TEST
(
ID INT IDENTITY (1,1),
DATE_ TIME DATETIME NOT NULL DEFAULT (GETDATE ())
)
上面的表结构中,DATE_TIME列将每次插入新记录时都使用GETDATE()函数去获取系统当前的日期时间,相当于一个自增序列,但却不会像传统的自增序列一样使数据容量增大。
此外,也可以结合DATEADD,DATEPART,DATEDIFF等函数,来实现一些复杂的时间处理。比如下面的查询:
SELECT GETDATE() as d1,
DATEADD(day,7,GETDATE) as d2,
DATEPART(yy,GETDATE) as y,
DATEDIFF(MILLISECOND,getdate()-7,getdate()) as diff
上面的语句利用GETDATE()获取系统当前的日期和时间,利用DATEADD(),增加7天,结果为d2;结合DATEPART()函数,截取出其中的年份,结果为y;最后结合DATEDIFF(),计算getdate()减去7天所相差的毫秒数,结果为diff。
因此,MSSQL中的GETDATE()函数可以用来方便且快捷的获取并操作系统当前的日期。与GETDATE()类似的函数还有DATE(),SYSDATETIME(),GETUTCDATE()等,都可以用来获取系统当前的日期。