1
爲了整潔目的,我想在我的存儲過程(對於SQL Server 2012)中聲明搜索參數的標量值,然後在我的搜索的WHERE子句中實際使用它們。所以基本上我想這樣做:我可以在LIKE運算符使用之前爲LIKE運算符聲明通配符嗎?
CREATE PROCEDURE [test_select]
@firstName VARCHAR(50)
, @lastName VARCHAR(50)
AS
IF @firstName != ''
BEGIN
SET @firstName = '%' + @firstName + '%'
END
IF @lastName != ''
BEGIN
SET @lastName = '%' + @lastName + '%'
END
SELECT *
FROM [dbo].[Member] AS Member
WHERE
( @firstName != '' AND @firstName LIKE [Member].[FirstName])
OR (@lastName != '' AND @lastName LIKE [Member].[LastName] )
我還是有點新的SQL,所以我的問題很簡單,就是我想在這裏做會像我期望使用插入通配符在LIKE運算符中?
你有語法倒退。它應該是'[Member]。[FirstName] like @ firstName' –
呃,那實際上是我要問的另一個問題。感謝您指出我無法做到這一點(仍在編寫有問題的查詢)。 –