뽁
[MSSQL] 다국어 - INSERT 시 N'컬럼값' 사용 본문
/**************************************
MSSQL 다국어 지원을 위한 환경설정
#COLLATE #LANGUAGE #CHARTERSET
- 작업내용
. @@language 가 '한국어' 인지 확인
. collation_name 이 'Korean_Wansung_CI_AS' 인지 확인
**************************************/
USE master
GO
/*****************
언어확인
*****************/
select @@language
;
-------------
한국어
/*****************
collation_name 확인
*****************/
SELECT collation_name
FROM sys.databases
WHERE name = 'database_name'
;
--------------
sql_latin1_general_cp1_ci_as
/*****************
collation_name 변경 작업
*****************/
/**
* 싱글유저 모드로 변경. 싱글유저로 접속하지 않으면 다른 사람의 작업으로 인해 배타적잠금 오류가 발생.
*/
ALTER DATABASE database_name SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
/**
* collation_name 을 Korean_Wansung_CI_AS 으로 변경
*/
ALTER DATABASE database_name COLLATE Korean_Wansung_CI_AS
GO
/**
* 멀티유저 모드로 변경.
*/
ALTER DATABASE database_name SET MULTI_USER
GO
MS-SQL에서
다국어 사용을 위해서는 입력(INSERT) 쿼리문에 아래와 같이
작성해주시면 됩니다.
insert into dbo.ZTEST_NVARCHAR values('Hello', N'Tạm biệt'); /*영어, 베트남어*/
※ 다국어가 필요없는 코드성은 N'value' 를 할 필요 없습니다.
※ 개발DB에 다국어 테스트 테이블- [dbo].[ZTEST_NVARCHAR] 을 만들었습니다. 필요시 사용하세요.
테스트 테이블 생성
drop TABLE [dbo].[ZTEST_NVARCHAR];
CREATE TABLE [dbo].[ZTEST_NVARCHAR](
[var] [varchar](10) NOT NULL,
[nvar] [Nvarchar](10) NOT NULL
) ON [PRIMARY]
GO
테스트 테이터 입력
insert into dbo.ZTEST_NVARCHAR values('고','高'); /*한글, 한자*/
insert into dbo.ZTEST_NVARCHAR values('Hello','Tạm biệt'); /*영어, 베트남어*/
insert into dbo.ZTEST_NVARCHAR values('Hello', N'Tạm biệt'); /*영어, 베트남어*/
테스트 테이터 확인
select var, nvar, datalength(var), datalength(nvar) from dbo.ZTEST_NVARCHAR ;
var | nvar | 데이터 길이(byte) | 데이터 길이(byte) | 쿼리문 |
고 | 高 | 6 | 6 | insert into dbo.ZTEST_NVARCHAR values('고','高'); /*한글, 한자*/ |
Hello | T?m bi?t | 5 | 16 | insert into dbo.ZTEST_NVARCHAR values('Hello','Tạm biệt'); /*영어, 베트남어*/ |
Hello | Tạm biệt | 5 | 16 | insert into dbo.ZTEST_NVARCHAR values('Hello', N'Tạm biệt'); /*영어, 베트남어*/ |
'IT Cafe+ > MS-SQL' 카테고리의 다른 글
DB2 TO MSSQL 데이터 이관 방법, MSSQL BCP 이용 (0) | 2020.08.09 |
---|---|
[MSSQL] 세계 시간(타임존, Time zone) 계산 함수(function) (0) | 2019.02.21 |
[MSSQL] 다국어 사용을 위한 방법. National JDBC (0) | 2018.12.26 |
[MSSQL] PIVOT을 이용한 행을 열로 만들기 (0) | 2016.08.17 |
[SQL2014] Function based index (본문 하단에 실전예저 포함) (0) | 2015.03.09 |