[쿼리] Sybase DB SQL 한글 포함 컬럼 추출 쿼리


Sybase에서 컬럼에 한글(2바이트 문자) 포함 여부 확인하기

데이터를 다루다 보면 특정 컬럼에 한글이나 특수 문자와 같은 2바이트 문자가 포함되어 있는지를 확인해야 할 때가 있습니다. 특히 Sybase에서는 문자 수와 바이트 수를 비교하는 방식으로 이런 조건을 손쉽게 확인할 수 있습니다.

1. 특정 컬럼에 2바이트 문자가 포함되어 있는 행 조회

SELECT *
FROM my_table
WHERE datalength(my_column) > char_length(my_column);

설명:

  • datalength(my_column)은 해당 문자열의 바이트 수를 반환합니다.

  • char_length(my_column)은 문자 수를 반환합니다.

  • 한글이나 기타 멀티바이트 문자가 포함된 경우, 바이트 수가 문자 수보다 크므로 이를 활용해 필터링할 수 있습니다.

※ Sybase 버전에 따라 char_length() 대신 length()를 사용해야 할 수도 있으니 환경에 맞게 조정하세요.


2. 한글(2바이트 문자) 포함된 행의 건수만 보고 싶을 때

SELECT COUNT(*)
FROM my_table
WHERE datalength(my_column) > char_length(my_column);

이 쿼리는 my_column에 2바이트 문자가 포함된 행의 개수만 반환합니다.


3. 한글 포함 여부에 따라 건수 비교

SELECT
    CASE 
        WHEN datalength(my_column) > char_length(my_column) THEN '한글 포함'
        ELSE '한글 미포함'
    END AS 구분,
    COUNT(*) AS 건수
FROM my_table
GROUP BY
    CASE 
        WHEN datalength(my_column) > char_length(my_column) THEN '한글 포함'
        ELSE '한글 미포함'
    END;

결과 예시:

구분건수
한글 포함123
한글 미포함456








Written by dukgun.com

댓글 쓰기

다음 이전