2014-01-29 62 views
1

我有一個smalltimedate列,希望對其進行通配符搜索,並查找具有00:00:00時間的所有行,而不考慮日期。MS-SQL服務器2008r2從smalltimedate中選擇時間,不管日期如何

id | col 

1 | 2014-01-01 00:01:00 
2 | 2014-01-02 00:01:00 
3 | 2014-01-03 00:00:00 
4 | 2014-01-04 00:00:00 

將返回

id | col 

3 | 2014-01-03 00:00:00 
4 | 2014-01-04 00:00:00 

什麼是最簡單的方法是什麼?

回答

2

嘗試這一個 -

DECLARE @t TABLE 
(
    id INT PRIMARY KEY, 
    col SMALLDATETIME 
) 

INSERT INTO @t (id, col) 
VALUES 
    (1, '2014-01-01 00:01:00'), 
    (2, '2014-01-02 00:01:00'), 
    (3, '2014-01-03 00:00:00'), 
    (4, '2014-01-04 00:00:00') 

SELECT * 
FROM @t 
WHERE CAST(col AS FLOAT) - ROUND(CAST(col AS FLOAT), 0) = 0 

輸出 -

id   col 
----------- ----------------------- 
3   2014-01-03 00:00:00 
4   2014-01-04 00:00:00 
1

醜陋,但是......

SELECT ... 
WHERE DATEPART(hour, col) = 0 AND DATEPART(minute, col) = 0 AND DATEPART(second,col) = 0 
2

如何

select 
    * 
from 
    T 
where 
    cast(col as time) = '00:00:00' 
0

SELECT * FROM表 WHERE CONVERT(CHAR(10),山口,108)= '00:00:00'

相關問題