忽略SQL中GETDATE()的秒数和毫秒数
我想删除/忽略GETDATE()SQL函数中的秒数和毫秒数。 当我执行死刑时忽略SQL中GETDATE()的秒数和毫秒数,sql,tsql,Sql,Tsql,我想删除/忽略GETDATE()SQL函数中的秒数和毫秒数。 当我执行死刑时 SELECT GETDATE() 输出将类似于 2015-01-05 14:52:28.557 我想忽略上面输出的秒和毫秒。实现这一点的最佳方法是什么 我曾尝试通过如下方式进行打字: SELECT CAST(FORMAT(GETDATE(),'yyyy-MM-dd HH:mm:0') AS datetime) 这是正确且优化的方法吗?尝试以下方法: SELECT dateadd(minute, datediff
SELECT GETDATE()
输出将类似于
2015-01-05 14:52:28.557
我想忽略上面输出的秒和毫秒。实现这一点的最佳方法是什么
我曾尝试通过如下方式进行打字:
SELECT CAST(FORMAT(GETDATE(),'yyyy-MM-dd HH:mm:0') AS datetime)
这是正确且优化的方法吗?尝试以下方法:
SELECT dateadd(minute, datediff(minute, 0, GETDATE()), 0)
查询使用以下事实:DATEDIFF
返回两个日期之间的分钟数,忽略较小的单位<代码>0是过去的固定日期
它可以很容易地适应其他时间单位。我认为如果你的方法可行的话,它是很好的(看起来应该这样,但我还没有测试过)。还有很多其他可能的方法。这里有一个:
select cast(convert(char(16), getdate(), 120) as datetime)
我要么使用
DATEADD
/DATEDIFF
技巧,要么将其转换为1:
我会避免任何涉及通过字符串对值进行往返的操作
1此时,如果秒数始终不相关,则可能需要更改架构以使用此数据类型。您实际想做什么?只是用一种特殊的方式格式化它?可能是@shree.pat18的副本我有一个datetime数据库列,其中直到分钟的日期都保存在数据库中。现在,我想将它与当前系统日期进行比较,这是我从getdate函数中得到的。@Damien_不相信,我认为这是最好的方法,只需将其键入smalldatetime即可。谢谢
select CAST(GETDATE() as smalldatetime)