gpt4 book ai didi

postgresql-9.2 - 非字母数字的 PostgreSQL 查询

转载 作者:行者123 更新时间:2023-12-02 01:09:33 25 4
gpt4 key购买 nike

我一直在 Stackoverflow 上搜索有关如何查找具有特殊字符的单元格的查询。

我在另一个帖子上看到了

SELECT * FROM myTable WHERE myField LIKE '%[^a-zA-Z0-9]%'

并从下面复制我的代码

SELECT DESCRIPTION FROM ITEM WHERE DESCRIPTION NOT LIKE '%[a-zA-Z0-9 .-]%'

但它对我不起作用,下面的结果显示“-”和“。”和空格。

"2016 蓝瑟 EX GT-A 2.0G CVT"

"2016款幻影GLX 1.2G MT"

“2016 款 MIRAGE G4 GLX 1.2G MT (UPG)”

“2016 款 MIRAGE G4 GLX 1.2G CVT(UPG)”

我试着把它改成

SELECT DESCRIPTION FROM ITEM WHERE DESCRIPTION ~* '%[^a-zA-Z0-9 ]%'

返回 0 个结果。

感谢任何帮助。我很困惑为什么它适用于其他人而不是我的。我在 Opensuse 操作系统上使用 Postgresql 和 PGadmin。

最佳答案

我不相信 Postgres LIKE 支持如下正则表达式:

WHERE DESCRIPTION NOT LIKE '%[a-zA-Z0-9 .-]%'

但是您可以改用波浪号运算符来访问完整的正则表达式。 口头表达,我想你这里想要的逻辑是:

Find any string which does not have one or more non alphanumeric characters present in the string.

使用具有覆盖整个字符串的正确模式的正则表达式模式:

SELECT DESCRIPTION
FROM ITEM
WHERE DESCRIPTION !~ '^.*[^A-Za-z0-9 .-].*$'

这将匹配任何包含一个或多个字符的描述,这些字符不是字母、数字、空格、点或破折号。

关于postgresql-9.2 - 非字母数字的 PostgreSQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45666565/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com