Sql server SQL Server-选择日期时间

Sql server SQL Server-选择日期时间,sql-server,Sql Server,这是一项非常简单的任务,但我似乎无法正确执行SELECT [Date] 2014-10-02 00:00:00.000 2014-10-02 16:54:00.000 SELECT * FROM [Table] WHERE Date NOT LIKE '% 00:00:00.000' 返回两个日期。如何排除时间值为00:00:00.000的日期?试试以下方法: SELECT * FROM [Table] WHERE CAST(Date AS time) NOT LIKE '%00:00:00

这是一项非常简单的任务,但我似乎无法正确执行SELECT

[Date]
2014-10-02 00:00:00.000
2014-10-02 16:54:00.000

SELECT * FROM [Table] WHERE Date NOT LIKE '% 00:00:00.000'
返回两个日期。如何排除时间值为
00:00:00.000
的日期?

试试以下方法:

SELECT * FROM [Table] WHERE CAST(Date AS time) NOT LIKE '%00:00:00.000'
select * from (
select *,cast(AttDate as time) MyTime
from yourtable
)d
where d.MyTime!='00:00:00.000'

如果要筛选出时间为午夜的实例,只需将日期强制转换为
date
,然后比较它们是否相等,如下所示:

select * from [Table] where [Date] <> convert(date, [Date])
从[表]中选择*其中[日期]转换(日期,[日期])

您使用的SQL Server版本是什么?空格字符是issue1。理想情况下,您是否会直接转换为
VARCHAR
,而不是转换为
TIME
(这样就需要另一个隐式转换来进行
类似的模式匹配)?2.如果您确实转换到
时间
,您还需要模式中的
%
吗?事实上,使用引号就像转换字符串一样好的答案伴随着代码示例,并为将来的读者提供解释。虽然问这个问题的人可能理解你的答案,但解释你是如何得出这个答案的可能会帮助无数其他人。@Stonz2的意思是这样做的-被拉到一个会议中,想为用户写点东西