MSSQL 精确到秒抛弃毫秒(mssql 去掉毫秒)

MSSQL 精确到毫秒是指当一个字段类型为 Datetime2 时,用户可以精确到毫秒的精度。这个功能的实现是通过内置的SQL函数“GETDATE()”实现的。MySQL和PostgreSQL都有相似的功能,但是有一个重要的区别就是:MySQL和PostgreSQL允许用户在指定一个 Datetime 精度上抛弃毫秒,而 MSSQL不提供这样的能力。

那么,为了实现MSSQL 精确到秒抛弃毫秒,可以使用以下一个方法:

CONVERT(char(19),getdate(),120)

将上述代码执行的结果的格式为 2019-09-30 17:58:52。 该代码会把毫秒转换为秒,因此可以实现MSSQL 精确到秒抛弃毫秒的目的。

虽然,CONVERT函数可以用来实现MSSQL 精确到秒抛弃毫秒,但是这种方法可能会对查询效率造成影响,因为每次查询时都要重新计算。

另一种抛弃毫秒的方法就是使用DATEPART函数。这个函数可以用来从一个Datetime2类型截取秒,不会影响查询性能。 如:

DATEPART(second,getdate())

该函数的结果是一个整数,表示当前秒,例如17。

因此,通过使用上述CONVERT函数和DATEPART函数,可以实现MSSQL 精确到秒抛弃毫秒的目的,并且不会对查询性能造成影响。


数据运维技术 » MSSQL 精确到秒抛弃毫秒(mssql 去掉毫秒)