안녕하세요.
MSSQL을 사용 하다가 오류가 생겨 여쭤 봅니다.
특정 문장을 Insert 하거나 Update 하려고 할때 '문자열이나 이진 데이터는 잘립니다.' 라는 오류 메시지가 발생 하빈다.
해당 컬럼의 크기는 nvarchar(1000) 이고
제가 Insert 및 update 하려고 하는 문장의 길이를
len()
datalen() 로 검사 했을때는 각각 800, 890이 나옵니다.
컬럼의 크기는 충분한것 같은데 왜 이런 오류가 발생 하는 것일까요?
혹시 알고 계신분 답변 부탁드리겠습니다.~
글 읽어 주셔서 감사합니다.
Comment 4
-
ViewPple
2013.09.26 12:41
-
군고구마
2013.09.26 12:55
혹시 그거 말고
날짜데이터를 넣는곳에 문자로 넣는 경우가 있나요?
예를 들면
날짜는 datetime 인데 넣을때 '2013-04-31'로 넣으면 해당 날짜는 존재하지 않아서 (4월은 30일까지) 그렇게 되는 경우도 있습니다.
그 부분도 확인해보세요.
-
rusl
2013.09.26 14:14
답변해 주신 분들 감사합니다. SQL MANAGEMENT STUDIO에서 작업하고 있는데, sp_help 구문으로 테이블 검색 했을때 해당 컬럼의 length 값이 1000으로 나오더군요. 그래서 입력가능한 문자열 길이가 1000인줄 알고 있었는데, 알고 보니 length 1000이 뜻하는 것이 바이트 크기 1000이었습니다. 때문에 실제로 입력 가능한 문자는 500자 였구요. 답변해 주신 분들 감사합니다. 여러 가지 배웠습니다. 괜히 몇시간 동안 열심히 삽질했네요 ㅎㅎ
-
쓸만한게없네(윤선식)
2013.09.26 14:22
꼭 그 칼럼이 아닐 수도 있습니다. 흔히 하는 실수인 경우가...
한 번 확인해 보세요...
뒤늦게 봤네요. ㅋ.
자문자답하셨군요. ^^.
해당 오류 메시지가 확인하신대로 len이 원인이니...
혹시 모르니 nvarchar(MAX)로 해보세요