반응형
해당 칼럼의 데이터 길이보다 큰 값을 넣으려고 할 때 발생하는 오류
예제와 함께 살펴보자
varchar(10) 형식의 name 칼럼을 가진 table_ggmouse 테이블이 있다.
sp_help 'table_ggmouse'
문제 상황
name 칼럼에 'my name is ggmouse'라는 값을 넣으려고 하자 다음과 같은 메시지가 반환됐다.
메시지 8152, 수준 16, 상태 14, 줄 6
문자열이나 이진 데이터는 잘립니다.
INSERT INTO table_ggmouse([name]) VALUES ('my name is ggmouse')
해당 문자열의 길이는 18이다. 즉, 넣으려는 칼럼의 데이터길이보다 큰 값이다.
SELECT LEN('my name is ggmouse')
해결 방법
1. 칼럼의 데이터 길이에 맞는 값을 넣자
INSERT INTO table_ggmouse([name]) VALUES ('ggmouse')
2. 칼럼의 데이터 길이를 더 크게 변경하자
ALTER TABLE table_ggmouse ALTER COLUMN [name] VARCHAR(30)
INSERT INTO table_ggmouse([name]) VALUES ('my name is ggmouse')
[MSSQL] LEN / DATALENGTH (문자열의 문자 수 / 바이트 수)
반응형
'프로그래밍 > MSSQL' 카테고리의 다른 글
[MSSQL] QUOTENAME 구분 식별자 (0) | 2020.06.01 |
---|---|
[MSSQL] DECLARE 변수 선언 (0) | 2020.05.30 |
[MSSQL] LEN / DATALENGTH (문자열의 문자 수 / 바이트 수) (0) | 2020.02.05 |
[MSSQL] WITH INDEX 인덱스 강제 설정 (테이블 힌트) (0) | 2020.02.04 |
[MSSQL] ARITHABORT (웹 서비스단 프로시저 timeout 이슈) (1) | 2020.01.31 |