sitelink1 | https://blog.naver.com/harry5313/221427560221 |
---|---|
sitelink2 | https://blog.naver.com/siro012/60010596010 |
DESCRIPTION 과 REMARK 컬럼에서 style 이라는 단어가 들어가 있는지 조회한다
SELECT * FROM [XXX].[XXX].[XXX] AS RPH
WHERE
RPH.DESCRIPTION LIKE '%style%' OR
RPH.REMARK LIKE '%style%'
유의할 점은 위와 같이 영문을 조회할 경우 대소문자 구분없이 추출하기도 하므로 컬럼의 속성을 확인하는게 좋다
컬럼의 속성에 상관없이 대소문자를 무조건 구분하여 검색하려면
where 절의 컬럼조건에 collate Korean_Wansung_BIN 을 붙여 주면 된다.
select * from #user_info where user_id = 'bbb' collate Korean_Wansung_BIN
주의할 사항은 where 절의 컬럼이 2개 이상일경우 각 컬럼별로 collate Korean_Wansung_BIN 를 지정해 주어야 한다.
select * from #user_info where user_id = 'bbb' collate Korean_Wansung_BIN and user_nm = '테스트1' collate Korean_Wansung_BIN
추가로 테이블 생성시부터 대소문자가 비교되도록 옵션 지정이 가능하다
MS SQL Server 에서 기본적으로 레코드을 비교할때 대소문자를 비교하지 않는다고 한다.
설치시 옵션으로 하지 않으면 대소문자 구분을 하지 않는다고 하고
버전 7.0 같은 경우엔 대소문자 구분없이 설치하였다가 이를 지원할려면 새로 설치하는 방법밖에 없다고 한다.
그러나 MS SQL Server 2000 에서는 테이블을 생성할때 옵션으로 지정할수 있다고 한다.
테이블 생성이 아래와 같이 'COLLATE Korean_Wansung_CS_AS_WS' 를 지정하면 된다.
create table aaa (
col1 varchar(50) COLLATE Korean_Wansung_CS_AS_WS NULL ,
col2 char(10) not null )
혹시 이와 같이 생성을 하지 않았다고 하더라도
쿼리문에서 같은 방법으로 조치할 수 있다고 한다.
select * from aaa where col1 COLLATE Korean_Wansung_CS_AS_WS = '조건'
그렇지만 쿼리문으로 하는것보단 필요한 곳은 테이블 생성할때 대소문자 구분을 하는것이 좋을것이라 판단한다.
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
5 | DB 성능 최적화 14가지 지키기 (쿼리 성능 향상) | 황제낙엽 | 2019.05.29 | 280 |
4 | 특정 컬럼에 대해 그룹핑하여 각 그룹별 ROWNUM 붙이기 그리고 left join | 황제낙엽 | 2019.05.28 | 182 |
» | 조회용 검색 쿼리 | 황제낙엽 | 2019.05.28 | 239 |
2 | ROWNUM 붙이기 | 황제낙엽 | 2019.05.28 | 188 |
1 | SELECT 후 다른 Table에 UPDATE 하는 방법 (MSSQL) | 황제낙엽 | 2008.01.28 | 428 |