Decode BASE64 encoded string SQL query syntax
-- declare vars. DECLARE @data VARCHAR(MAX), @XmlData XML -- set the base64 encoded varchar. SET @data = 'SGVsbG8gV29ybGQgIQ==' -- construct an xml var. SET @XmlData = CAST('<data>' + @data + '</data>' AS XML) -- base64 decode the @data. SELECT CONVERT(VARCHAR(MAX), @XmlData.VALUE('(data)[1]', 'varbinary(max)'))
September 6th, 2008 at 2:29 am
What if input is in nvarchar?
September 8th, 2008 at 3:55 pm
nvarchar is fine.
DECLARE @data nvarchar(max)
September 8th, 2008 at 8:23 pm
Unfortunatelly not.
This code:
DECLARE @data nvarchar(max), @XmlData xml
SET @data = N’Добро’
SET @XmlData = CAST(” + @data + ” as xml)
SELECT CONVERT(nvarchar(max), @XmlData.value(’(data)[1]‘, ‘varbinary(max)’))
returns NULL.
If i encode this with http://makcoder.sourceforge.net/demo/base64.php
then text is: JiMxMDQ0OyYjMTA4NjsmIzEwNzM7JiMxMDg4OyYjMTA4Njs=
September 18th, 2008 at 2:21 am
Hi muti2,
The @data should be set as encoded, in which case, it is
The result I got is
(replace “_” with “”) which is as same as ’Добро’
Try this,