我正在使用PL / SQL v7.1
我正在尝试查找在其中一个地址行字段中输入国家/地区名称的所有地址记录,以及国家/地区字段。 问题是国家细节没有一致输入,例如。
addr4 addr5 country
---------- ---------- ---------------
JERSEY UK(JERSEY)
IRELAND REPUBLIC OFIRELAND
DOUGLAS ISLE OF MAN UK(ISLE OF MAN)
所以,我需要找到addr4或addr5中也找到Country字段的任何部分的记录。
我从这个
开始SELECT *
FROM test_addresses
WHERE addr4||addr5 LIKE '%'||country||'%'
我知道这不起作用,因为它会以第一条记录为例,检查英国(JERESEY)'在addr4 || addr5中找到,因此,找不到匹配项。但是我如何检查是否'泽西'可以在addr4 || addr5
中找到答案 0 :(得分:1)
尝试这种方式:
SELECT *
FROM test_addresses
WHERE (addr4 is not null and country like '%'||addr4||'%')
or (addr5 is not null and country like '%'||addr5||'%')
答案 1 :(得分:0)
我对plsql了解不多 但我认为你的查询是倒退的,试试这个。
SELECT *
FROM test_addresses
WHERE country LIKE '%'||addr4||'%'
or country LIKE '%'||addr5||'%'