복붙노트

[SQL] SQL 서버 문자열로 VARBINARY로 변환

SQL

SQL 서버 문자열로 VARBINARY로 변환

나는 문자열 유형에 VARBINARY 유형에서 T-SQL에서 변환을 수행 할

다음은 그 예이다 :

우선이 VARBINARY있어

0x21232F297A57A5A743894A0E4A801FC3

그리고 나는 그것을 변환 할

21232f297a57a5a743894a0e4a801fc3

이걸 어떻게 할까?

해결법

  1. ==============================

    1.시험:

    시험:

    DECLARE @varbinaryField varbinary(max);
    SET @varbinaryField = 0x21232F297A57A5A743894A0E4A801FC3;
    
    SELECT CONVERT(varchar(max),@varbinaryField,2), 
    @varbinaryField
    

    업데이트 : SQL Server 2008의

  2. ==============================

    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. ==============================

    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. ==============================

    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. ==============================

    5.나는 대답을 모든 곳에서 보니 결국이 날 위해 일했습니다 :

    나는 대답을 모든 곳에서 보니 결국이 날 위해 일했습니다 :

    SELECT Lower(Substring(MASTER.dbo.Fn_varbintohexstr(0x21232F297A57A5A743894A0E4A801FC3), 3, 8000))
    

    에 출력 (문자열) :

    당신은 당신이 문자열 / 경기 VARBINARY 기록을 비교할 잘 경우로 WHERE 또는 가입 조건에서 사용할 수 있습니다

  6. ==============================

    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
    
  7. from https://stackoverflow.com/questions/12139073/sql-server-converting-varbinary-to-string by cc-by-sa and MIT license