Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
忽略SQL中GETDATE()的秒数和毫秒数_Sql_Tsql - Fatal编程技术网

忽略SQL中GETDATE()的秒数和毫秒数

忽略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

我想删除/忽略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(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)