Tôi đã cố gắng viết một câu lệnh sử dụng mệnh đề WHERE LIKE '% text%', nhưng tôi không nhận được kết quả khi tôi cố gắng sử dụng tham số cho văn bản. Ví dụ, công trình này:T-SQL và mệnh đề% Parameter% WHERE LIKE% Parameter%
SELECT Employee WHERE LastName LIKE '%ning%'
này sẽ quay trở lại sử dụng Flenning, Manning, Ningle, vv Tuy nhiên, tuyên bố này sẽ không:
DECLARE @LastName varchar(max)
SET @LastName = 'ning'
SELECT Employee WHERE LastName LIKE '%@LastName%'
Không có kết quả được tìm thấy. Bất kỳ đề xuất? Cảm ơn trước.
nhờ cho mẹo trước đó về câu hỏi. Nhưng nó không phải là mặc dù. Dù sao [trong nhiệm vụ của một câu trả lời có hiệu suất cao - điều này có hữu ích hay không?] (Http://stackoverflow.com/a/14243580/1389394) :) – bonCodigo
@bonCodigo Tôi không biết thực sự, hiệu suất và tối ưu hóa không khu vực của tôi. Hơn nữa, các chức năng này là nhà cung cấp cụ thể, trong trường hợp của bạn nó phụ thuộc vào cách Oracle RDBMS đánh giá chúng, và tôi không biết Oracle. Lấy làm tiếc. –
Điều này không hiệu quả đối với tôi. % Cần phải nằm trong phần addParameter. Xem James Curran trả lời ở đây http://stackoverflow.com/questions/251276/howto-parameters-and-like-statement-sql – bendecko