我正在尝试编写一个查询(Postgres 8.2.15),它正在检查 column1 中的值是否包含:
- 仅限英文字母(AZ),不应包含来自西班牙语、阿拉伯语、德语等的变音/变音符号的特定字符。
- 允许使用单个空格、点、破折号、和号、撇号、括号和管道。
我有以下代码,它适用于空格、点和破折号,但是当我将其他一些符号插入到列表中时,查询没有产生正确的结果:
select
column1,
case
when column1 !~ '^.*[^A-Za-z0-9 .-].*$'
then 'ok'
else 'not ok'
end as "check",
from
table1
如何使用&、撇号、括号和管道扩展列表?