SQL Server使用like关键字选择DateTime

时间:2014-11-22 19:33:25

标签: sql-server

我有一张简单的桌子。

Booking Table

我正在尝试触发此表上的选择查询。

select * 
from booking
where bookingdate like '%11%'

在输出中我希望显示两个记录。但是,令我惊讶的是,只显示了表中的最高记录。

这种行为很奇怪。是like关键字在DateTime类型的列上无法正常运行吗?

修改

但是,如果我尝试此操作(将DateTime转换为Varchar

select * 
from booking
where convert(varchar(50), BookingDate, 120) like '%11%'

有效!!

1 个答案:

答案 0 :(得分:1)

  

DATETIME的LIKE运算符没有直接支持   变量

您可以按照建议将其转换为varchar

select * from booking
where convert(varchar(50), BookingDate, 120) like '%11%'

此处如果您想查看月份,请使用DatePart

select * from booking
where DATEPART(M,BookingDate)=11

OR

您可以在构建的函数中使用datepart,datename等来检索您需要的内容

CHECK HERE