2017-10-05 18 views
1

LIKE ANY()でUPPERを使用する方法はありますか?Postgres - LIKE ANY UPPER()

私は、次の例があります。

SELECT 
.... 
where skus.number like any ('{"%00130204%", "%00130202"}') 

残念ながら、私はここでチェックしてるのSKUが異なる例のものとすることができるので、私はこれをやってみました:

動作しません
SELECT 
.... 
where UPPER(skus.number) like any UPPER('{"%00130204%", "%00130202"}')) 

、クエリ自体でこれを動作させる方法はありますか?

+0

で使用する順序どおり戻ってそれをキャストする必要がテキストとして表現した後、 「好き」の大文字小文字を区別しないようにします。同じようなものではなく、単にilikeを使うのはなぜですか? –

答えて

2

アッパーを使用する必要はありません。代わりに、 "ilike"のように大文字と小文字を区別しないバージョンを使用してください。あなたのためのより良いクエリとして彼の答えに@Joeで完全であること(大文字で数字を表現するという考えの後ろphylosophyをスキップ)と一緒に

SELECT 
.... 
where skus.number ilike any ('{"%00130204%", "%00130202"}') 
0

は、私はあなたのポストのトピックに答えることにしました

LIKE ANY()でUPPERを使用する方法はありますか?

はい - ここにある:

t=# select UPPER('110013020411') like any (UPPER('{"%00130204%", "%00130202"}')::text[]) comaprison; 
comaprison 
------------ 
t 
(1 row) 

あなたは、アレイ内の上部のテキストを使用すると、通常のもののこのタイプのために行われANY (array)

関連する問題