在 SQL Server 2008 查询中使用 like in where 子句时使用破折号

Eme*_*ras 0 sql sql-server sql-server-2008

我在 SQL Server 2008 中有一个包含此类数据的表:

id  TimeStamp
--------------------------
1   2016-02-19 11:52:01 AM
2   2016-02-21 11:30:05 AM
Run Code Online (Sandbox Code Playgroud)

我正在尝试选择保存在 2016 年 2 月 19 日的此类数据。我正在使用下面的查询,但它返回的结果没有任何值。

select * 
from myTable 
where [TimeStamp] like '2016-02-19%'
Run Code Online (Sandbox Code Playgroud)

但是,当我编写下面的查询时,我可以获得 2016 年保存的所有数据。所以我认为破折号可能有问题?

select * 
from myTable 
where [TimeStamp] like '%2016%'
Run Code Online (Sandbox Code Playgroud)

我该如何解决我的问题,我的错误是什么?

Gor*_*off 5

请勿like与日期一起使用。使用简单的比较:

where [TimeStamp] >= '2016-02-19' and [TimeStamp] < '2016-02-20'
Run Code Online (Sandbox Code Playgroud)