본문 바로가기
프로그래밍/DB

[MS-SQL] 대소문자 구분하여 조회 하는 방법

by [바가지] 2017. 10. 19.
반응형

MS-SQL 대소문자 구분하기
 

 

만약 DB 설정이 대소문자를 구분하지 않도록 되어 있을 경우, 조회 시에 소문자 'a'를 검색하고 싶어도 대문자 'A' 까지 함께 조회가 됩니다.

 

이럴 경우 대소문자를 구분하도록 하는 방법이 있습니다.

쿼리 작성 시에 COLLATE Korean_Wansung_CS_AS를 사용하여 작성 하면 됩니다.

 

아래 예제를 통해서 자세하게 살펴보도록 하겠습니다.

 

■ 예제

 - 예제1 : 조건절에 사용

 WITH TEST_TABLE AS (

                               SELECT '대문자 A' COL
                                UNION ALL
                               SELECT '소문자 a' COL

                              )
 SELECT *
 FROM TEST_TABLE

 WHERE COL LIKE '%A%'

WITH TEST_TABLE AS (
                              SELECT '대문자 A' COL
                              UNION ALL
                              SELECT '소문자 a' COL
                             )
SELECT *
FROM TEST_TABLE
WHERE COL COLLATE Korean_Wansung_CS_AS LIKE '%A%'

 - 예제2 : CASE문 내에 사용 

WITH TEST_TABLE AS (
                               SELECT '대문자 A' COL
                               UNION ALL
                               SELECT '소문자 a' COL
                              )
 SELECT CASE WHEN COL LIKE '%a%'
                      THEN COL + ' → 소문자'
                   ELSE COL + ' → 대문자'
           END COL
FROM TEST_TABLE

 WITH TEST_TABLE AS (
                               SELECT '대문자 A' COL
                               UNION ALL
                               SELECT '소문자 a' COL
                              )
 SELECT CASE WHEN COL COLLATE Korean_Wansung_CS_AS LIKE '%a%'
                      THEN COL + ' → 소문자'
                   ELSE COL + ' → 대문자'
           END COL
FROM TEST_TABLE

 

■ 쿼리 및 결과 캡쳐 이미지

예제 1)

예제 2)

 

 

여기까지 MSSQL 에서 대소문자를 구분하여 조회 하는 법에 대하여 알아 보았습니다.

 

 

반응형