테이블
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
데이터 정렬로 사용해야 합니다. 질문에 지정한 것은 대소 문자를 구분합니다.
데이터 정렬 목록은 여기에서 볼 수 있습니다 .