<< 환경 정보>>
-- SQL VERSION
Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (X64)
Jul 9 2008 14:17:44
Copyright (c) 1988-2008 Microsoft Corporation
Standard Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) (VM)
-- DB 정렬 : Korean_Wansung_CI_AS
-- 문서를 보면 다국어도 지원 되는 듯 해서요
-- 링크 https://msdn.microsoft.com/ko-kr/library/ms186323(v=sql.110).aspx
-- 다국어 지원 환경을 구성 하기 위해서, 확인 중에 있습니다.
-- 다국어(NVARCHAR) 에 대한 CHECKINDEX 문의 드립니다.
-- 아래 처럼 중국어를 입력 하고,
-- 중국어는 구글 번역기에서 "사랑과 믿음" 변환 후, COPY & PASTE 방식으로 INSERT
-- [질문아래 처럼 검색 해보면 검색이 안되는데 그 이유를 알수 있을까요 ?
-- 혹 지원이 안된다면 다국어(UniCode )를 위해서 별도의 Function 을 사용해야 하나요 ?
DROP TABLE CHECK_UNI
GO
CREATE TABLE CHECK_UNI ( A1 int , NV_A3 NVARCHAR(100))
GO
INSERT INTO CHECK_UNI VALUES ( 1, N'爱与信仰');
GO
SELECT * FROM CHECK_UNI;
SELECT CHARINDEX('信条',NV_A3) FROM CHECK_UNI;
SELECT CHARINDEX(N'信条',NV_A3) FROM CHECK_UNI;
SELECT CHARINDEX(CONVERT(NVARCHAR,N'信条'),NV_A3) FROM CHECK_UNI;
Comment 4
-
이리
2016.01.28 15:06
-
구로동라이더
2016.01.28 16:26
답변 감사드립니다.
제가 수행 하면 아래처럼 나오는데
(1개 행이 영향을 받음)
A1 NV_A3
----------- ----------------------------------------------------------------------------------------------------
1 爱与信仰(1개 행이 영향을 받음)
-----------
0(1개 행이 영향을 받음)
-----------
0(1개 행이 영향을 받음)
-----------
0(1개 행이 영향을 받음)
-
이리
2016.01.28 16:47
저도 본문에 있는 쿼리로 하면 0이 나옵니다.
-
구로동라이더
2016.01.28 18:00
제 테스트 결과가 이상한거죠 ?
CHARINDEX 가 UNICODE(다국어, Nchar, Nvarchar,Ntext) 지원되는게 맞는거죠 ?
감사합니다.
입력한 문자중에 찾고자 하는 단어가 없는게 아닌가요?
SELECT CHARINDEX('信仰',NV_A3) FROM CHECK_UNI;
SELECT CHARINDEX(N'信仰',NV_A3) FROM CHECK_UNI;
SELECT CHARINDEX(CONVERT(NVARCHAR,N'信仰'),NV_A3) FROM CHECK_UNI;
위 단어로 검색하면 3이라고 잘 나오네요