2016-04-25 77 views
0

我想過濾postgres中具有ascii鍵值的字段。Postgresql在WHERE子句中選擇帶有ascii值的查詢

我有一個稱爲位置的字段,它的行數據包含'/'。我想寫我的查詢並獲取其內容中具有'/'的所有行。在這裏,我只想傳遞'/'代替'/'的ascii代碼。我對PostgreSQL很陌生,不知道如何達到這個要求。請找到下面的查詢我試圖執行所需的結果,並建議與更改。

SELECT * FROM my_test_table WHERE (location LIKE '%' || convert_to('/', 'UTF8') || '%'); 

預期結果:當我執行上面的查詢時,我應該獲取其內容中包含'/'的所有行。

預先感謝 桑託什

回答

2

使用chr()功能:

SELECT * 
FROM my_test_table 
WHERE location like '%'||chr(47)||'%' 

或可替代地使用strpos()代替像

SELECT * 
FROM my_test_table 
WHERE strpos(location, chr(47)) > 0;