Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
搜索列PostgreSQL中的第一个字符_Sql_Postgresql - Fatal编程技术网

搜索列PostgreSQL中的第一个字符

搜索列PostgreSQL中的第一个字符,sql,postgresql,Sql,Postgresql,我想按字符表(括号表达式)搜索列中的第一个字符,但它会带来所有列字符,尽管有些客户的姓名以非字母开头 我使用PostgreSQL SELECT name FROM customs WHERE name ~* '[a-z]' : 与模式不同,正则表达式可以匹配字符串中的任何位置,除非正则表达式显式锚定到字符串的开头或结尾 一些例子: 'abc' ~ 'abc' true 'abc' ~ '^a' true 'abc' ~ '(b|d)' true 'abc' ~ '^(b|c)'

我想按字符表(括号表达式)搜索列中的第一个字符,但它会带来所有列字符,尽管有些客户的姓名以非字母开头

我使用PostgreSQL

SELECT name
FROM customs
WHERE name ~* '[a-z]'
:

与模式不同,正则表达式可以匹配字符串中的任何位置,除非正则表达式显式锚定到字符串的开头或结尾

一些例子:

'abc' ~ 'abc'    true
'abc' ~ '^a'     true
'abc' ~ '(b|d)'  true
'abc' ~ '^(b|c)' false

如果只想在
name

开头进行匹配,也可以省去正则表达式匹配,只需执行以下操作:

where name < 'a' or name >= '{'
其中name<'a'或name>='{'
{
是ASCII图表中
z
后面的神秘字符。注意:对于此解决方案或任何解决方案,您可能需要检查排序规则是否区分大小写

where name < 'a' or name >= '{'