TSQL을 사용하려고합니다. 값이 변수 안에 있으면 십진수로 16 진수로 변환하는 데 약간의 문제가 있습니다.T-SQL 16 진수로 16 진수로 변환
내 코드는 다음과 같습니다
SET @hex = SUBSTRING(@x,1,2) --give 1e
SET @hex = '0x' + @hex
SELECT CAST (@hex AS int)
내가 잘못이 무엇인지 알 수 지금까지 내가 찾을 수
int로하는 VARCHAR 값을 변환 할 때 변환이 실패하는 오류 솔루션
아이디어가 있으십니까? 감사합니다
쿼리를 실행하면 48이라는 결과가 나타납니다. 그러나 16 진수 1e의 십진수는 30입니다. 왜 이런 일이 발생했는지 알 수 있습니까? – th1rdey3
@ th1rdey3 - 내 컴퓨터에서 실행하면 결과는 30입니다. 2005 서버에 대해 실행하면 48이됩니다. 그래서 2008 년 이후라고 말한 것입니다. 2005의 경우 '0'에 대한 ASCII 값이 48임을 나타냅니다. –
@Damien_The_Unbeliever 재미있는 차이점은 'SQL Server 전후의'CONVERT '의 차이점을 설명 할 수 있습니까? 2008'? 대답의 링크에서 찾을 수 없습니다. – DrCopyPaste