我已經使用了LIKE
操作一些其它參數搜索卡車位置的存儲過程使用與存儲過程LIKE操作參數
@location nchar(20),
@time time,
@date date
AS
select
DonationsTruck.VechileId, Phone, Location, [Date], [Time]
from
Vechile, DonationsTruck
where
Vechile.VechileId = DonationsTruck.VechileId
and (((Location like '%'[email protected]+'%') or (Location like '%'[email protected]) or (Location like @location+'%')) or [Date][email protected] or [Time] = @time)
我總是空的其他參數,只能通過位置搜索,但它即使當我使用位置的全名時也不會返回結果
要正確處理您需要明確地檢查它,例如NULL值'([Date] = @Date或@Date爲NULL)'。順便說一下,你只需要檢查''%'+ @location +'%'',另外兩個位置測試是多餘的。 – HABO 2013-05-05 03:01:01
[踢壞的習慣:使用舊式JOIN](http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/08/bad-habits-to-kick-using-old-style-joins。 aspx) - 老式*逗號分隔的表*樣式列表已停止使用ANSI - ** 92 ** SQL標準(超過** 20年前**) – 2013-05-05 07:15:16