/*
실행 예제
DECLARE @R_VAL VARCHAR(MAX)
EXEC J_CON_STR_TO_UNICODE N'안녕하세요.유니코드로 변환하는 거에요.', @R_VAL OUTPUT
SELECT @R_VAL
*/
CREATE PROC [dbo].[J_CON_STR_TO_UNICODE] (
@INPUT_STR NVARCHAR(MAX), -- 변환될 스트링값
@RTN_STR VARCHAR(MAX) OUTPUT -- 반환될 값
) AS
BEGIN
SET NOCOUNT ON
DECLARE @MAX_SEQ INT
DECLARE @III INT
DECLARE @SINGLE_STR NVARCHAR(1)
DECLARE @TMP_STR VARCHAR(MAX) -- VARCHAR(MAX)
SELECT @MAX_SEQ = LEN(@INPUT_STR)
SET @III = 1
SET @RTN_STR = ''
WHILE @MAX_SEQ >= @III
BEGIN
SET @SINGLE_STR = SUBSTRING(@INPUT_STR, @III, @III+1)
SELECT
@TMP_STR = CAST(N'' AS XML).value(
'xs:hexBinary(sql:column("STR_UNICODE"))'
, 'VARCHAR(MAX)'
)
FROM (
SELECT CAST(UNICODE(@SINGLE_STR) AS VARBINARY(MAX)) AS STR_UNICODE
) AS ENCODING_DATA
SET @RTN_STR = @RTN_STR + RIGHT(@TMP_STR, 4)
SET @III = @III + 1
END
--SELECT @RTN_STR RTN_STR
END
'DataBase > MSSql' 카테고리의 다른 글
| Stuff (0) | 2019.07.11 |
|---|---|
| bulk insert (0) | 2019.07.07 |
| mssql 에서 메일 발송 (0) | 2019.06.22 |
| MS-SQL 2008 쿼리 튜닝할 때 사용되는 쿼리문 (0) | 2015.10.22 |
| SQL Paging Query - 2005이상 (0) | 2011.08.31 |