SQL查询在postgresql数据库中无法正常工作

Mar*_*Mar 2 sql postgresql select

我有一个简单的SQL查询,帮助我找到它的值在字段的文本中有一些英文字母.

这里的SQL:

select id,field1 
from mytable 
where mytable like '[A-Z]'
Run Code Online (Sandbox Code Playgroud)

该查询在MS-ACCESS数据库中运行良好,但在QGIS和postgis查询上无法使用DB MANAGER,因为我认为Postgres无法识别字母表列表[AZ].

如果我用这个:

select id,field1 
from mytable 
where mytable like '%A%' 
   or mytable like '%B%'......
Run Code Online (Sandbox Code Playgroud)

然后它工作,但我不喜欢这种方法.

在Postgres:

select public.mytable.id,public.mytable.field1 
from mytable 
where public.mytable.mytable like '[A-Z]'
Run Code Online (Sandbox Code Playgroud)

我尝试使用:

'*[A-Z]*'
'%[A-Z]%'
Run Code Online (Sandbox Code Playgroud)

但这并没有改变任何事情

Mur*_*nik 6

您可以使用~运算符来评估正则表达式:

SELECT id, field1 FROM mytable WHERE mytable ~ '[A-Z]'
Run Code Online (Sandbox Code Playgroud)