我試圖使用LIKE
語句連接變量,出於某種原因,它僅查找要搜索的單詞位於文本變量末尾的值。PSQL:在存儲過程中使用LIKE連接值
我使用的PostgreSQL 8.4和這個被存儲在函數(存儲過程)
考慮在此示例中:
a.key1是 「HELLO」
a_text是「我向你道去世界」
代碼:
SELECT count(1), a.key1, a.active, a.campkeydbid
FROM campkeydb a
WHERE a_text LIKE '%'|| a.key1 ||'%'
GROUP BY a.key1, a.active, a.campkeydbid
INTO a_count, a_campaignkey, a_active, a_campkeydbid;
在這個存儲過程中,它不會返回值;它不會找到「HELLO」這個詞?
它只會返回值如果a_text包含「我打招呼」
有誰知道我做錯了嗎?看起來這是正確的,因爲我在變量a.key1的兩側連接了一個%。
你確定'a.key1'完全是'HELLO'而不是'HELLO'或類似的東西嗎?嘗試快速'選擇' - '|| key1 || ' - '從campkeydb'看看你是否有流浪的空間。 – 2012-07-06 03:53:36
或者'a_text'值可能有問題?您是否嘗試過使用'a_text' *替換字符串本身來運行此查詢? – 2012-07-06 04:58:24
謝謝您的迴應..我做了一些快速選擇並沒有空格,但是我還在我的JAVA中添加了修剪以發送「乾淨」信息!謝謝......它通過添加「AND a.deleted = false」得到解決,我意識到有更多的行但被標記爲已刪除... – Beto 2012-07-06 15:50:30