2016-04-25 78 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;