IT 성장일기
[SQL Server] 문자열이나 이진 데이터는 잘립니다. (String or binary data would be truncated) 본문
Database/SQL Server
[SQL Server] 문자열이나 이진 데이터는 잘립니다. (String or binary data would be truncated)
고 양 2023. 11. 8. 11:07반응형
문자열이나 이진 데이터는 잘립니다. (String or binary data would be truncated)
주로 컬럼 길이보다 긴 데이터를 삽입하려고 시도할 때 발생하는 예외입니다.
SQL Server(MS SQL)와 함께 작업을 하다 보면 꽤나 빈번하게 마주치는 예외메시지입니다.
컬럼의 최대 문자열 길이를 늘여주거나, 삽입하고자 하는 데이터의 길이를 줄이는 것으로 해결 수 있습니다.
개인적으로 문자열 데이터의 길이를 줄이는 것은 권장하지 않는데 그 이유는 다음과 같습니다.
- 데이터의 손상이나 변경을 초래할 수 있음.
- 컬럼의 길이를 초과하는 데이터의 삽입이 또 다시 실행될 수 있음.
컬럼 길이 조절하기
아래 SQL을 실행하여 테이블의 컬럼 길이를 조회하고 수정할 수 있습니다.
/*컬럼 길이 조회하기*/
SELECT TABLE_NAME
, COLUMN_NAME
, DATA_TYPE
, CHARACTER_MAXIMUM_LENGTH
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = '[table_name]'
/*컬럼 길이 수정*/
ALTER TABLE [table_name]
ALTER COLUMN [column_name]
VARCHAR(50) NULL; /*옵션은 필요에 따라 바꿔주세요.*/
컬럼 길이를 늘였는데 또 다시 같은 예외가 발생할 때에는 컬럼 길이를 MAX로 바꿔주거나 컬럼 타입을 TEXT로 설정하는 것이 좋겠습니다.
/*컬럼 길이 수정*/
ALTER TABLE [table_name]
ALTER COLUMN [column_name]
VARCHAR(MAX) NULL;
--TEXT NULL;
도움이 되어드렸다면 구독 / 좋아요 부탁드립니다.👏🏻
감사합니다.🙂
반응형
'Database > SQL Server' 카테고리의 다른 글
[SQL Server] SQL Server 테이블 정보 확인하기 (0) | 2023.11.08 |
---|---|
[SQL Server] SQL Server 테이블 컬럼에 설명 추가, 수정, 삭제 및 조회하기 (0) | 2023.09.12 |
[SQL Server] SQL Server 트랜젝션 로그 비우기 (0) | 2023.09.12 |
[SQL Server] SQL Server 데이터베이스(복원중..) 해결 방법 (0) | 2023.09.12 |
[SQL Server] SQL Server 쿼리 성능 측정과 개선 (0) | 2023.09.12 |