SQL Server에서 기본적으로 Base64 문자열 디코딩


15

내가 가지고 varchar는 일반 텍스트 상당의에 내가 디코드 싶습니다 base64로 인코딩 된 텍스트 문자열을 개최 SQL Server의 테이블에 열을

SQL Server에는 이러한 유형의 작업을 처리 하는 기본 기능이 있습니까?

base64 문자열 샘플 :

cm9sZToxIHByb2R1Y2VyOjEyIHRpbWVzdGFtcDoxNDY4NjQwMjIyNTcxMDAwIGxhdGxuZ3tsYXRpdHVkZV9lNzo0MTY5ODkzOTQgbG9uZ2l0dWRlX2U3Oi03Mzg5NjYyMTB9IHJhZGl1czoxOTc2NA==

어떤 디코딩 :

role:1 producer:12 timestamp:1468640222571000 latlng{latitude_e7:416989394 longitude_e7:-738966210} radius:19764

답변:


20

그것을 알아 냈습니다 :

SELECT 
    CONVERT
    (
        VARCHAR(MAX), 
        CAST('' AS XML).value('xs:base64Binary(sql:column("BASE64_COLUMN"))', 'VARBINARY(MAX)')
    ) AS RESULT
FROM
    (
        SELECT 'cm9sZToxIHByb2R1Y2VyOjEyIHRpbWVzdGFtcDoxNDY4NjQwMjIyNTcxMDAwIGxhdGxuZ3tsYXRpdHVkZV9lNzo0MTY5ODkzOTQgbG9uZ2l0dWRlX2U3Oi03Mzg5NjYyMTB9IHJhZGl1czoxOTc2NA==' AS BASE64_COLUMN
    ) A

산출:

role:1 producer:12 timestamp:1468640222571000 latlng{latitude_e7:416989394 longitude_e7:-738966210} radius:19764

그냥 스왑 BASE64_COL_NAME당신의 열 이름을하거나 대체 할 수 sql:column("BASE64_COLUMN")와 함께 sql:variable("@base64variable")당신이 기능 또는 뭔가를 만드는 경우 선언 된 변수 등을 사용합니다.

기본 제공 XML 기능을 사용하여 XSL 변환을 사용합니다 (SQL Server 2005부터).

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.