会社の顧客の Excel シートでデータを除外しようとしています。必要な 3 つのフィールドはFIRST_NAME
、LAST_NAME
、およびCOMPANY_NAME
です。
ルールは次のとおりです。
FIRST_NAME
ANDであるLAST_NAME
必要がありNOT
ますNULL
FIRST_NAME
ANDLAST_NAME
はアルファベットのみである必要があります- 上記のルールは関係ありません IF
COMPANY_NAME
はNOT NULL
したがって、明確にするために繰り返します..顧客はFIRST_NAME
ANDを持っている必要があります (一方またはLAST_NAME
両方が欠けていることはできませんCOMPANY_NAME
) 。FIRST_NAME
LAST_NAME
データの例と、それらがデータにとどまる必要があるかどうかを次に示します。
FIRST_NAME | LAST_NAME | COMPANY_NAME | Good customer?
-----------|-----------|--------------|--------------------------------
Alex | Goodman | AG Inc. | Yes - All are filled out
John | Awesome | | Yes - First and last are fine
Cindy | | Cindy Corp. | Yes - Company is filled out
| | Blank Spa | Yes - Company is filled out
| | | No - Nothing is filled out
Gordon | Mang#2 | | No - Last contains non-alphabet
Jesse#5 | Levvitt | JL Inc. | Yes - Company is filled out
Holly | | | No - No last or company names
SELECT
クエリは次のとおりです (句の一部のフィールドが削除されています)。
SELECT VR_CUSTOMERS.CUSTOMER_ID, VR_CUSTOMERS.FIRST_NAME, VR_CUSTOMERS.LAST_NAME, VR_CUSTOMERS.COMPANY_NAME, ...
FROM DEV.VR_CUSTOMERS VR_CUSTOMERS
WHERE (
LENGTH(NAME)>4 AND
(UPPER(NAME) NOT LIKE UPPER('%delete%')) AND
(COMPANY_NAME IS NOT NULL OR (COMPANY_NAME IS NULL AND FIRST_NAME IS NOT NULL AND LAST_NAME IS NOT NULL AND FIRST_NAME LIKE '%^[A-z]+$%' AND LAST_NAME LIKE '%^[A-z]+$%'))
)
の正規表現も試しました'%[^a-z]%'
。の代わりにRLIKE
andを試してみましたが、どちらも機能していないようです。REGEXP
LIKE
上記のクエリでは、結果にはCOMPANY_NAME
.