데이터베이스 개발자 질문과 답변 게시판
데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.
회원정보 업데이트할려고 하는데요.
업데이트 쿼리문 중에
SET @STRQRY = @STRQRY + ' F_ADMIN_PWHASH= ' +CHAR(39) + CONVERT(VARBINARY(22), HASHBYTES('SHA1',@PWD)) +CHAR(39) + ', '
가 있는데
메시지 402, 수준 16, 상태 1, 프로시저 USP_ADMIN, 줄 213
데이터 형식 varchar(max) 및 varbinary이(가) add 연산자에서 호환되지 않습니다.
이 에러가 발생하는데 도대체 어디가 문제인지 답을 찾을 수가 없네요.
도와주세요~
Comment 3
-
catchv
2013.02.06 21:49
-
catchv
2013.02.06 21:52
그리고 이런 문자열 문제는 찾기 힘드시면
하나씩 더하면서 찾으면 쉽게 문제점을 찾을 수 있습니다.
SET @STRQRY = @STRQRY + ' F_ADMIN_PWHASH= ' -- OK
SET @STRQRY = @STRQRY + ' F_ADMIN_PWHASH= ' +CHAR(39) -- OK
SET @STRQRY = @STRQRY + ' F_ADMIN_PWHASH= ' +CHAR(39) + CONVERT(VARBINARY(22), HASHBYTES('SHA1',@PWD)) -- ERROR
-
형님
2013.02.07 09:38
답변 감사합니다~~
SQL 2008 이시라면
CONVERT(VARBINARY(22), HASHBYTES('SHA1',@PWD))
이걸 이렇게 변경하시면 됩니다.
CONVERT(VARCHAR(100), CONVERT(VARBINARY(22), HASHBYTES('SHA1' , @PWD)), 1)