DJ메탈짱™의 Free Style

[MS-SQL] 쿼리 작성시 다국어를 위해서는 #NVARCHAR 본문

일(job)/DBMS

[MS-SQL] 쿼리 작성시 다국어를 위해서는 #NVARCHAR

뽀&쏭 2016. 1. 15. 17:28



중국어로 되어 있는 데이터 검색시
 

select * from 테이블 where 컬럼 like '%%'

했더니 검색결과가 나오지 않는다..
공백이나 띄어씌기 머 이런거 관계없이 무슨 짓을 해도 안된다.
 
이런때 봐줘야 하는 아주 기초적인 간단한 부분 (데이터베이스 기준)

1. 대상 컬럼 데이터 타입은 NVARCHAR --> 다국어 지원을 위해 "N" 타입 사용.
 
2. 데이터 INSERT시에도 값 앞에 "N"을 붙여서 저장.

insert into 테이블(컬럼)values(N')

 
3. 데이터 SELECT시에도 조건의 값 앞에 "N"을 붙여서 검색.

select * from 테이블 where 컬럼 like N'%%'

 
머가 잘 안된다면 더 깊숙히 검색해보자.
내가 1차적으로 경험한 범위는 여기까지.
다른 문제가 발생하면 다시 확인해보는걸로...ㅋㅋ
 
------------------------------------------------------------------------------------
추가적으로 프로시저 호출시에도
EXEC 프로시저 '하하하', '한문'
이러는 경우 프로시저가 nvarchar인 경우라도 한문이 깨지는 단어가 존재함.
그럴때는

EXEC 프로시저 '하하하', N'한문'
와 같이 호출해주면 문제없음.