[SQL] SQL 서버 문자열로 VARBINARY로 변환
SQLSQL 서버 문자열로 VARBINARY로 변환
나는 문자열 유형에 VARBINARY 유형에서 T-SQL에서 변환을 수행 할
다음은 그 예이다 :
우선이 VARBINARY있어
0x21232F297A57A5A743894A0E4A801FC3
그리고 나는 그것을 변환 할
21232f297a57a5a743894a0e4a801fc3
이걸 어떻게 할까?
해결법
-
==============================
1.시험:
시험:
DECLARE @varbinaryField varbinary(max); SET @varbinaryField = 0x21232F297A57A5A743894A0E4A801FC3; SELECT CONVERT(varchar(max),@varbinaryField,2), @varbinaryField
업데이트 : SQL Server 2008의
-
==============================
2.나는이 오래된 질문 알아요,하지만 여기에 내가 어떤 상황에서 더 유용하다고 있다는 또 다른 방법이다. 나는 master.dbo.fn_varbintohexstr 기능이 SQL2K 이후 적어도 SQL 서버에서 사용할 수있다 생각합니다. 단지 완성도를 위해 여기에 추가. 일부 독자들은 또한이 함수의 소스 코드를보고 교훈을 찾을 수 있습니다.
나는이 오래된 질문 알아요,하지만 여기에 내가 어떤 상황에서 더 유용하다고 있다는 또 다른 방법이다. 나는 master.dbo.fn_varbintohexstr 기능이 SQL2K 이후 적어도 SQL 서버에서 사용할 수있다 생각합니다. 단지 완성도를 위해 여기에 추가. 일부 독자들은 또한이 함수의 소스 코드를보고 교훈을 찾을 수 있습니다.
declare @source varbinary(max); set @source = 0x21232F297A57A5A743894A0E4A801FC3; select varbin_source = @source ,string_result = master.dbo.fn_varbintohexstr (@source)
-
==============================
3.이 같은 변수를 선언하여 당신이 할 수있는 VARCHAR (STRING)에 하나의 VARBINARY 값을 변환 할 경우 :
이 같은 변수를 선언하여 당신이 할 수있는 VARCHAR (STRING)에 하나의 VARBINARY 값을 변환 할 경우 :
DECLARE @var VARBINARY(MAX) SET @var = 0x21232F297A57A5A743894A0E4A801FC3 SELECT CAST(@var AS VARCHAR(MAX))
당신이 테이블 열에서 선택하려는 경우 당신은 다음과 같이 할 수 있습니다 :
SELECT CAST(myBinaryCol AS VARCHAR(MAX)) FROM myTable
-
==============================
4.이는 2005 년과 2008 년 모두 SQL에서 작동 :
이는 2005 년과 2008 년 모두 SQL에서 작동 :
declare @source varbinary(max); set @source = 0x21232F297A57A5A743894A0E4A801FC3; select cast('' as xml).value('xs:hexBinary(sql:variable("@source"))', 'varchar(max)');
-
==============================
5.나는 대답을 모든 곳에서 보니 결국이 날 위해 일했습니다 :
나는 대답을 모든 곳에서 보니 결국이 날 위해 일했습니다 :
SELECT Lower(Substring(MASTER.dbo.Fn_varbintohexstr(0x21232F297A57A5A743894A0E4A801FC3), 3, 8000))
에 출력 (문자열) :
당신은 당신이 문자열 / 경기 VARBINARY 기록을 비교할 잘 경우로 WHERE 또는 가입 조건에서 사용할 수 있습니다
-
==============================
6.여기에 내가 변환하고이 변환 방법을 사용하여 다시 변환 쓴 간단한 예입니다, 나는 또한 고정 된 문자열을 확인
여기에 내가 변환하고이 변환 방법을 사용하여 다시 변환 쓴 간단한 예입니다, 나는 또한 고정 된 문자열을 확인
선언 @ VB3 VARBINARY @ VB2 VARBINARY (500) @ VB1 VARBINARY (500), (500)
S1 VARCHAR @ (500)를 선언
SET @ VB1 = HASHBYTES ( 'SHA1', '테스트')
SET @ S1 = CONVERT (VARCHAR (500) VB1,2 @)
SET @ VB2 = CONVERT (VARBINARY (500), @ S1,2)
SET @ VB3 = CONVERT (VARBINARY (500), '640AB2BAE07BEDC4C163F679A746F7AB7FB5D1FA', 2)
@ VB1, @ S1, @ VB2, @ VB3을 선택
'그들은 (2) 일치'@ VB1 = @ VB2 PRINT IF
'그들은 (3) 일치'@ VB1 = @ VB3 인쇄하는 경우
인쇄 페이지 (렌 (@ VB1))
인쇄 페이지 (렌 (@ S1))
인쇄 페이지 (렌 (@ VB2))
SET @ VB1 = HASHBYTES ( 'SHA1', '테스트')
SET @ S1 = CONVERT (VARCHAR (500) VB1,1 @)
SET @ VB2 = CONVERT (VARBINARY (500), @ S1,1)
@ VB1, @ S1, @ VB2를 선택
'그들은 (1) 일치'@ VB1 = @ VB2 PRINT IF
인쇄 페이지 (렌 (@ VB1))
인쇄 페이지 (렌 (@ S1))
인쇄 페이지 (렌 (@ VB2))
출력
||| 0x640AB2BAE07BEDC4C163F679A746F7AB7FB5D1FA | 640AB2BAE07BEDC4C163F679A746F7AB7FB5D1FA | 0x640AB2BAE07BEDC4C163F679A746F7AB7FB5D1FA | 0x640AB2BAE07BEDC4C163F679A746F7AB7FB5D1FA
(1 개 행 적용됨)
그들은 (2) 일치
그들은 (3) 일치
20 40 20
|| 0 KST 40 Abebaa 07 Baydas 4 × 163 Vtahsah 46 Vhabhfbkhadd 빠 1 | 0 KST 40 Abebaa 07 Baydas 4 × 163 Vtahsah 46 Vhabhfbkhadd 빠 1 | 0 KST 40 Abebaa 07 Baydas 4 × 163 Vtahsah 46 Vhabhfbkhadd 1 빠
(1 개 행 적용됨)
그들은 (1) 일치
20 42 20
from https://stackoverflow.com/questions/12139073/sql-server-converting-varbinary-to-string by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] MySQL은 Case 문 (0) | 2020.04.30 |
---|---|
[SQL] VARCHAR와 DATE / DATETIME을 사용하는 경우 (0) | 2020.04.30 |
[SQL] 하지가 존재하는 경우 테이블을 만들 PostgreSQL을 (0) | 2020.04.30 |
[SQL] 데이터베이스 트랜잭션이 경쟁 조건을 방지합니까? (0) | 2020.04.30 |
[SQL] 3 백만 행 PostgreSQL 데이터베이스에 느린 간단한 업데이트 쿼리 (0) | 2020.04.30 |