[sql] SQL- 문자열 검색 중 대소 문자 무시

테이블
PriceOrderShipped
PriceOrderShippedInbound

PriceOrderShippedOutbound
에 다음 데이터가 있습니다
.SQL

에서 테이블에서 문자열을 검색하는 쿼리를 작성해야합니다. 문자열을 검색하는 동안 대소 문자를 무시해야합니다. 아래 언급 된 SQL 쿼리

SELECT DISTINCT COL_NAME FROM myTable WHERE COL_NAME LIKE '%PriceOrder%' 

위의 모든 데이터를 제공하지만

SELECT DISTINCT COL_NAME FROM myTable WHERE COL_NAME LIKE '%Priceorder%' 

제공하지 않습니다.

예 : ‘PriceOrder’또는 ‘priceOrder’를 검색하면 작동하지만 ‘priceorder’또는 ‘Priceorder’는 작동하지 않습니다. COLLATE를 사용하여 아래 쿼리를 시도했지만 작동하지 않습니다. 내가 어디로 잘못 가고 있는지 알려주십시오.

SELECT DISTINCT COL_NAME FROM myTable WHERE
COL_NAME COLLATE latin1_general_cs LIKE '%Priceorder%'



답변

이런 식으로 사용하십시오-

SELECT DISTINCT COL_NAME FROM myTable WHERE UPPER(COL_NAME) LIKE UPPER('%PriceOrder%')

또는

SELECT DISTINCT COL_NAME FROM myTable WHERE LOWER(COL_NAME) LIKE LOWER('%PriceOrder%')


답변

대소 문자를 구분하지 않고 검색 할 때 이와 유사한 질문과 답변을 참조하십시오. SQL Server는 where 식에서 대소 문자를 무시합니다.

다음과 같은 것을 사용해보십시오.

SELECT DISTINCT COL_NAME
FROM myTable
WHERE COL_NAME COLLATE SQL_Latin1_General_CP1_CI_AS LIKE '%priceorder%'


답변

이렇게

SELECT DISTINCT COL_NAME FROM myTable WHERE COL_NAME iLIKE '%Priceorder%'

postgresql에서.


답변

SQL_Latin1_General_Cp1_CI_AS_KI_WI데이터 정렬로 사용해야 합니다. 질문에 지정한 것은 대소 문자를 구분합니다.

데이터 정렬 목록은 여기에서 볼 수 있습니다 .


답변