반응형
  1. /**********************************************************************************************
    -- 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
  2. -- 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
반응형

+ Recent posts