我正在尝试向所有供应商展示第一个地址是邮政信箱的地址,但是我正在努力如何使用LIKE格式化该地址。在我的表中,PO Box可以采用这三种方式中的任何一种进行格式化,但我不确定如何将这三种方式都包括在内。我目前在这里遇到的错误使我出现“缺少右括号”错误
SELECT vendor_name, vendor_address1, vendor_address2
FROM ap_vendors
WHERE vendor_address1 LIKE ('PO Box%', 'P. O. Box%', 'P O Box%')
答案 0 :(得分:3)
您似乎想要的是OR逻辑
您可以这样做:
SELECT vendor_name, vendor_address1, vendor_address2
FROM ap_vendors
WHERE vendor_address1 LIKE 'PO Box%'
OR vendor_address1 LIKE 'P. O. Box%'
OR vendor_address1 LIKE 'P O Box%'
答案 1 :(得分:3)
您可以使用正则表达式:
WHERE regexp_like(vendor_address1, '^(PO Box|P. O. Box|P O Box)')
或多个LIKE
模式:
WHERE vendor_address1 LIKE 'PO Box%' OR
vendor_address1 LIKE 'P. O. Box%' OR
vendor_address1 LIKE 'P O Box%'