2017-10-05 6 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

으로 사용하는 다시 중위 캐스팅 할 필요가 "like"대소 문자를 구분하지 않습니다. 왜 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)