SQL 服务器将base64数据转换成文件

SQL server to convert base64 data into a file

场景:

问题:

我 找到 this link 但不知道如何去做。
这是 我有什么:

DECLARE 
    @SQLcommand VARCHAR(8000),
    @MyOriginalFile VARCHAR(8000),
    @RawData VARCHAR(8000)

SET @RawData = 'JVBERi0x etc'

SET @SQLcommand = 'bcp "SELECT @MyOriginalFile = @RawData" queryout "\MY-SERVER\MySharedFolder\New.pdf" -T -n -S A70195\dev'

EXEC xp_cmdshell @SQLcommand

从 SQL2005 开始,我将对 PDF 内容使用 VARBINARY(MAX) 数据类型,并使用 FOR XML ... , BINARY BASE 64 将二进制值转换为 BASE64:

-- VarBinary -> XML
DECLARE @PdfContent VARBINARY(MAX)
SET @PdfContent = 0x12345678

SELECT  @PdfContent AS BinaryContent
FOR XML RAW, BINARY BASE64
-- Output <row BinaryContent="EjRWeA==" />

-- XML -> VarBinary
DECLARE @PdfContentAsXML XML
SET     @PdfContentAsXML = N'<row BinaryContent="EjRWeA==" />'
SELECT  x.XmlCol.value('(@BinaryContent)', 'VARBINARY(MAX)') AS BinaryContentFromXml
FROM    @PdfContentAsXML.nodes('row') x(XmlCol)
-- Output 0x12345678