【问题标题】:Postgresql select query with ascii value in WHERE clause在 WHERE 子句中使用 ascii 值的 Postgresql 选择查询
【发布时间】:2016-04-25 14:05:24
【问题描述】:

我想在 postgres 中过滤一个带有 ascii 键值的字段。

我有一个名为 location 的字段,它的行数据包含“/”。我想编写我的查询并获取其内容中带有“/”的所有行。在这里,我只想传递 '/' 而不是 '/' 本身的 ascii 代码。我对 PostgreSQL 很陌生,不知道如何达到要求。请在下面找到我正在尝试执行的查询以获得所需的结果并提出更改建议。

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

预期结果:当我执行上述查询时,我应该得到其内容中包含“/”的所有行。

提前致谢 桑托什

【问题讨论】:

    标签: postgresql


    【解决方案1】:

    使用chr()函数:

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

    或者使用strpos()而不是like

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-09-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多