這個問題的第二部分:查找匹配
注:我運行的Postgres 7.4,是的,我們正在升級
示例數據
address | zip
-----------------------+-------------+
123 main street | 12345
-----------------------+-------------+
23 where road | 12345
-----------------------+-------------+
South 23 where lane | 12345
查詢
SELECT address
FROM tbl
WHERE zip = 12345
AND LOWER(substring(address, '^\\w+')) = LOWER('lane')
也試過
SELECT address
FROM tbl
WHERE zip = 12345
AND LOWER(substring(address, '\\w+')) = LOWER('lane')
SELECT address
FROM tbl
WHERE zip = 12345
AND LOWER(substring(address, '^\\w')) = LOWER('lane')
SELECT address
FROM tbl
WHERE zip = 12345
AND LOWER(substring(address, '\\w')) = LOWER('lane')
我想是能夠搜索在地址欄中的地址的任何部分。因此,如果我需要所有包含lane
這個詞的行,我可以通過lane和zip返回所有行。這會給我:
address | zip
-----------------------+-------------+
South 23 where lane | 12345
或者,如果我需要的所有行和23個地址,這會給我:
address | zip
-----------------------+-------------+
23 where road | 12345
-----------------------+-------------+
South 23 where lane | 12345
有什麼我可以在例如查詢更改上面允許這個?
測試,我認爲這可能有效。而對於2300塊,我不希望在結果中有這種情況,但很高興知道。對於郵政信箱,我會在此之前進行額外的驗證 –