Часть вторая этого вопроса:
ПРИМЕЧАНИЕ: я использую 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
, я мог бы передать строку и почтовый индекс, чтобы вернуть все строки. Это дало бы мне:
address | zip
-----------------------+-------------+
South 23 where lane | 12345
Или, если бы мне нужно было все строки с адресом 23, это дало бы мне:
address | zip
-----------------------+-------------+
23 where road | 12345
-----------------------+-------------+
South 23 where lane | 12345
Могу ли я что-то изменить в приведенном выше примере запроса, чтобы разрешить это?