【Data Platform】/⤷ SQL, T-SQL

[SQL2k8] NVARCHAR(MAX) 변수 Concatenate 테스트

디비랑 2012. 4. 18. 13:39

/********************************************************************************************
-- Title : [SQL2k8] NVARCHAR(MAX) 변수 Concatenate 테스트
-- Reference : dbrang.tistory.com
-- Key word : 문자열 구분자 싱글값 멀티값
********************************************************************************************/
DECLARE @str nvarchar(4000);
SET @str = ''

 

SELECT @str = @str + cast(strings as nvarchar(20)) + ',' 
FROM tbl_test;

 

SELECT LEFT(@skeys, LEN(@skeys)-1) as skey ;
GO

 

 

 

 

-- SQL 2008에서는 문자열 병합이 이뤄지지 않고 SQL 2008에서는 병합이 이뤄진다.

-- nvarchar(4000)이나 nvarchar(max) 둘 다 SQL 2005에서는 병합되지 않는다.

-- 왠지 찾아내지는 못했다.

-- 근데, 아래 쿼리는 SQL 2005에서 된다.

 

declare @sum nvarchar(max), @a nvarchar(20), @b nvarchar(20);
select @a = 'aaaaaa', @b = 'bbbbbbbb';

set @sum = @a + @b;

select @sum;

 

-- SQL 2005에서 nvarchar(3999)로 하면 되는 걸 보면,

-- 4000이나 max에서는 변합시 기존것을 truncate하는 듯 싶다.