2011-03-14 78 views
0

返回任何行,我有以下查詢,Postgres的查詢不使用like運算

Select alpha_key,name,trading_as ,typeclient from client_details where upper(trading_as) like '%TEST\\''S LOGISTICS SERVICES%' order by name ;

不返回任何行,但

Select alpha_key,name,trading_as ,typeclient from client_details where upper(trading_as) = 'TEST\\''S LOGISTICS SERVICES' order by name ;

返回一行。

回答

1

因爲有兩個解釋,一個是分析字符串時,另一個是與LIKE比較時,您必須將兩個反斜槓轉義。

所以你的要求變爲:

Select alpha_key,name,trading_as ,typeclient 
from client_details 
where upper(trading_as) like '%TEST\\\\''S LOGISTICS SERVICES%' 
order by name ;