我想創建一個實用程序存儲過程,可以採取一個參數和查詢一個方便的表檢索一些快速信息。爲此,我需要在參數傳遞之前和之後添加'%'字符,以便在like
的查詢中使用它,如下所示。sybase - 簡單的連接
工作代碼 - 如果硬編碼
select some_field from TABLE where nm_field like ('%'+'abc'+'%')
但是當我嘗試使用同一個變量,相比於上面的查詢
declare @nm char(100)
select @nm = 'abc'
select some_field from TABLE where nm_field like ('%'[email protected]+'%')
在一番調查,審判我得到較小的結果和錯誤,下面的選擇顯示「%」僅在param之前添加,而不在兩側添加。
declare @name char(20), @other char(20)
select @name = 'abc'
select @other = ('%' + @name + '%')
select @other
期望輸出
%ABC%
但實際輸出
%ABC
我使用Sybase AS E-12.5.4
你能幫我解決這裏出了什麼問題嗎?
超級!不要得到潛在的問題。 char會發生什麼? – mtk
@mtk我給我的答案添加了一個解釋。正如你所說,你也可以使用修剪功能。對我來說更好的方法是使用'varchar'類型 – Parado