初学者在这里提问,这两个查询是否相同?由于某些原因,它们给出的行数不同。
=>行数〜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'
如果不是,如何使第一个查询更简单,更快捷?
答案 0 :(得分:2)
查询可能返回不同的结果,因为简单的列串联可能会添加额外的两个空格子字符串。您可以尝试使用分隔符进行串联:
SELECT *
FROM kliendi_aadress
WHERE concat_ws(',', maakond, linn, asula, tanav, maja, korter, postikood) ~ '\s\s'
答案 1 :(得分:1)
它返回不同的东西,因为在下一个查询中两次写了“ Tanav”吗?