sql - 如何只检查日期时间字段上的时间而忽略日期?

标签 sql sql-server-2008 tsql

我有一个以日期时间格式存储数据的列。我想检查此列的时间部分不等于 00:00:00:000 的所有实例 - 日期无关紧要。

基本上,如果 time() 是一个函数,则如下所示:

SELECT  *
FROM    progen.DY
WHERE   TIME(DY_DATE) <> '00:00:00:000'

我该怎么做?

最佳答案

您只需要对已有的内容稍作调整。

SELECT  *
FROM    progen.DY
WHERE   TIME(DY_DATE) <> '00:00:00:000'

使用 CONVERT更改您的 DATETIMETIME .
SELECT  *
FROM    progen.DY
WHERE   CONVERT(TIME, DY_DATE) <> '00:00:00:000'

关于sql - 如何只检查日期时间字段上的时间而忽略日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15104968/

相关文章:

mysql - 将列添加到 union select 语句会产生更多结果行

php - MySQL 查询,使 ORDER BY rand() 将特定行放在底部

sql - 如何使用另一个表中的值计数

sql-server-2008 - 对于 SQL Server 2008 中长度为 13 位的 ID 号,我可以使用什么数据类型?

java - SQL 不应该在 java 中运行

SQL Server,使用表作为队列

sql - 确定仅存在于两个表之一或两个表中的值

c# - 流利的 NHibernate : How can i use Int64 as ID?

tsql - 多参数 IF 语句 - T-SQL

sql-server - 删除所有表时出错 "DELETE failed because the following SET options have incorrect settings: ' QUOTED_IDENTIFIER'"