私の会社のExcelシートでデータをフィルタリングしようとしています。 私が必要とする3つのフィールドは、FIRST_NAME
,LAST_NAME
、COMPANY_NAME
です。WHERE文字アルファベットのみの文字
次のように規則がある:
FIRST_NAME
ANDLAST_NAME
COMPANY_NAME
をNOT NULL
NOT
NULL
FIRST_NAME
AND LAST_NAME
ことが顧客はFIRST_NAME
とLAST_NAME
(いずれかまたは両方を欠くことはできません)が必要ですが、COMPANY_NAME
の場合はFIRST_NAME
および/またはLAST_NAME
を持たないことが許可されています。ここで
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]+$%'))
)
:ここ
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
句内のいくつかのフィールドを持つ)クエリがありますまた、正規表現'%[^a-z]%'
を試しました。私はLIKE
の代わりにRLIKE
とREGEXP
を試しましたが、どちらもうまくいきませんでした。 上記のクエリでは、結果にはCOMPANY_NAME
のレコードのみが表示されます。
あなたは、この目的のためにカスタム関数を作成することができます。ここでは
は、この修正後の
WHERE
句です。 http://stackoverflow.com/a/10395393/6348498 – GurV