【问题标题】:How to query date column that contains time values greater than 0:00?如何查询包含时间值大于 0:00 的日期列?
【发布时间】:2019-08-05 16:44:12
【问题描述】:

我需要查询日期列以仅返回时间值大于上午 0:00:00 的日期。

所以 01/01/2000 0:00:00 的日期不会返回,但是 01/01/2000 12:01:00 AM 或 03/04/2009 08:50:23 PM 将返回

到现在为止

 select * from test 
 where date > '%0:01%'

显然这不起作用

【问题讨论】:

  • 12:00:00 默认为中午,00:00:00 为午夜(凌晨 12:00)。试试这个查询:` select * from test where Cast(date as time(3))> '00:00:00.999'`
  • 你能展示一些示例数据和预期的输出吗? date 列是哪种数据类型?
  • 是的,对不起,我是说午夜。

标签: sql-server ssms-2016


【解决方案1】:

这将为您提供所有非午夜的时间,但只要时间不是午夜,它将包含所有日期/日期值。

SELECT * 
FROM test
WHERE CAST(date AS TIME) > '00:00:00.000'

【讨论】:

    猜你喜欢
    • 2015-12-28
    • 1970-01-01
    • 2013-07-12
    • 1970-01-01
    • 2019-04-16
    • 1970-01-01
    • 2014-06-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多