블로그 이미지
010-9967-0955 보미아빠

카테고리

보미아빠, 석이 (500)
밥벌이 (16)
싸이클 (1)
일상 (1)
Total
Today
Yesterday

달력

« » 2024.3
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31

공지사항

최근에 올라온 글

varchar(max) 주의사항

밥벌이 / 2010. 11. 26. 11:03


use t
go

if object_id ('tblx') is not null
drop table tblx
go

create table tblx
(idx int identity(1,1)
,a int
)
go


declare @a varchar(max)
set @a =''


-- 문제없음
set @a =
  '--' + replicate ('a', 7000)
+ char(10) + char(13)
+ 'insert into tblx (a) select 1'
exec (@a)


-- 에러 222222 를 넣었는데 22 만 들어감
set @a =
  '--' + replicate ('a', 7966)
+ char(10) + char(13)
+ 'insert into tblx (a) select 222222'
print @a
exec (@a)


-- 조용히 데이터 안들어감 
set @a =
  '--' + replicate ('a', 8000)
+ char(10) + char(13)
+ 'insert into tblx (a) select 3'
exec (@a)
go


-- 문제의 해결
set @a = 
convert(varchar(max), '')
+ '--' + replicate ('a', 8000)
+ char(10) + char(13)
+ 'insert into tblx (a) select 3'
exec (@a)
go


select * from tblx






유사한 오류는 다음과 같은것이 있습니다.

실제 오류는 아니지만 다음과 같은 계산이 안된다.

select power(2,31)-1
메시지 232, 수준 16, 상태 3, 줄 1
int 유형에 산술 오버플로 오류가 발생했습니다. 값 = 2147483648.000000

declare @a int, @b int, @c bigint
select @a = 2147483647, @b = 2147483647

set @c = @a + @b
select @c
메시지 8115, 수준 16, 상태 2, 줄 4
expression을(를) 데이터 형식 int(으)로 변환하는 중 산술 오버플로 오류가 발생했습니다.

--------------------
NULL

(1개 행이 영향을 받음)


'밥벌이' 카테고리의 다른 글

OPTIMIZE FOR ( @variable_name { UNKNOWN | = literal_constant } [ , ...n ] )  (0) 2010.11.19
민석이의 waitstat 모니터링  (0) 2010.11.18
부하 데이터생성  (0) 2010.11.18
Array Insert  (1) 2010.11.17
이 쿼리의 결과는 뭘까요?  (6) 2010.11.04
Posted by 보미아빠
, |

최근에 달린 댓글

최근에 받은 트랙백

글 보관함