반응형
- /**********************************************************************************************
-- Title : [2k5] max 타입과 datalength 사용시 유의 사항
-- Reference : mcpworld.com
-- Key word : varchar max datalength cast
**********************************************************************************************/
-- 8000
declare @max varchar(max);
select @max = replicate('1234567890', 1000);
select @max, datalength(@max);
go
-- 10000
declare @max varchar(max);
select @max = replicate(cast('1234567890' as varchar(max)), 1000);
select @max, datalength(@max);
go
-- 8000
declare @max varchar(max);
select @max = replicate('max test 1', 800) + replicate('max test 2', 800);
select datalength(@max);
go
-- 8000
declare @max varchar(max);
select @max = cast(replicate('max test 1', 800) + replicate('max test 2', 800) as varchar(max));
select datalength(@max);
go - -- 16000
declare @max1 varchar(max), @max2 varchar(max), @max3 varchar(max);
select @max1 = replicate('max test 1', 800);
select @max2 = replicate('max test 2', 800);
select @max3 = @max1 + @max2 ;
select datalength(@max3);
go
-- 16000
declare @max varchar(max);
select @max = cast(replicate('max test 1', 800) as varchar(max))
+ cast(replicate('max test 2', 800) as varchar(max));
select datalength(@max);
go
-- 16000
declare @max varchar(max);
select @max = cast(replicate('max test 1', 800) as varchar(max))
+ replicate('max test 2', 800);
select datalength(@max);
go
반응형