Tôi có một thủ tục lưu trữ sử dụng các nhà điều hành LIKE
để tìm kiếm một vị trí xe tải trong một số thông số khácSử dụng toán tử NHƯ với thủ tục lưu trữ thông số
@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)
tôi null các thông số khác và tìm kiếm theo địa điểm chỉ nhưng nó luôn luôn không trả lại kết quả nào ngay cả khi tôi đã sử dụng tên đầy đủ của địa điểm
Để xử lý một cách chính xác giá trị NULL bạn cần phải kiểm tra cho nó rõ ràng, ví dụ '([Ngày] = @Date hoặc @Date là NULL)'. Nhân tiện, bạn chỉ cần kiểm tra ''%' + @location + '%'', hai thử nghiệm vị trí còn lại là thừa. – HABO
[Thói quen xấu để đá: sử dụng các kiểu JOIN cũ] (http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/08/bad-habits-to-kick-using-old-style-joins. aspx) - kiểu cũ * kiểu danh sách phân cách bằng dấu phẩy * đã bị ngừng với chuẩn ANSI - ** 92 ** SQL (hơn ** 20 năm ** trước) –