0

我正在尝试删除第二列包含 23:59:00 小时的所有行。

int      datetime
|1 |          2       |
125 2010-12-27 00:00:00
120 2011-12-27 00:00:00
84  2012-12-26 00:00:00
108 2013-12-26 00:00:00
139 2013-12-26 23:59:00
73  2014-12-26 00:00:00
140 2014-12-26 23:59:00

我试过命令

DELETE FROM Something
WHERE Date LIKE '%23:59:00'

但它不起作用。我必须转义冒号还是应该找到另一种识别行的方法?

4

3 回答 3

2

一种选择:

Where DatePart( hh, [date] ) = 23 And DatePart( mi, [date] ) = 59

如果您使用的是 SQL Server 2008 或更高版本

Where Cast( [date] As Time ) >= '23:59:00'

日期部分函数。

于 2013-05-14T14:17:15.510 回答
1

这应该有效:

...WHERE DATEPART(hh, [date]) = 23 AND DATEPART(mi, [date]) = 59

参考

于 2013-05-14T14:08:46.810 回答
1

如果您想使用 LIKE,请将日期时间转换为字符串,例如。

CONVERT(varchar,date,120) like '%23:59:00'

于 2013-05-15T16:10:13.307 回答