Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.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
Sql 这些问题是相同的吗?如果没有,如何进行更简单的查询_Sql_Regex_Postgresql - Fatal编程技术网

Sql 这些问题是相同的吗?如果没有,如何进行更简单的查询

Sql 这些问题是相同的吗?如果没有,如何进行更简单的查询,sql,regex,postgresql,Sql,Regex,Postgresql,初学者在这里提问,这两个问题是相同的吗?出于某种原因,它们给出了不同的行数 =>第2154行的计数 SELECT * FROM kliendi_aadress WHERE maakond ~'\s\s' OR linn ~'\s\s' OR asula ~'\s\s' OR tanav ~'\s\s' OR maja ~'\s\s' OR korter ~'\s\s' OR postikood ~'\s\s' =>行数~1923 SELECT

初学者在这里提问,这两个问题是相同的吗?出于某种原因,它们给出了不同的行数

=>第2154行的计数

SELECT * 
FROM kliendi_aadress 
WHERE maakond ~'\s\s' 
   OR linn ~'\s\s' 
   OR asula ~'\s\s' 
   OR tanav ~'\s\s' 
   OR maja ~'\s\s' 
   OR korter ~'\s\s' 
   OR postikood ~'\s\s'
=>行数~1923

SELECT * 
FROM kliendi_aadress 
WHERE maakond || linn || asula || tanav || maja || korter || postikood ~'\s\s'

如果不是,如何使第一个查询更简单、更快?

查询可能会返回不同的结果,因为简单的列串联可能会添加额外的两个空格子字符串。您可以尝试使用分隔符进行连接:

SELECT * 
FROM kliendi_aadress 
WHERE concat_ws(',', maakond, linn, asula, tanav, maja, korter, postikood) ~ '\s\s'

它会返回一些不同的结果,因为在下一个查询中,您已经编写了两次“Tanav”?

非常感谢!与第一个查询的结果相同。抱歉,编辑时输入错误。正确的一个就像在顶部一样。