<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>SQL Server Engine Tips : Programming</title><link>http://blogs.msdn.com/sqltips/archive/tags/Programming/default.aspx</link><description>Tags: Programming</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Converting from hex string to varbinary and vice versa</title><link>http://blogs.msdn.com/sqltips/archive/2008/07/02/converting-from-hex-string-to-varbinary-and-vice-versa.aspx</link><pubDate>Thu, 03 Jul 2008 04:26:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8669466</guid><dc:creator>SQL Server Engine Team</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/sqltips/comments/8669466.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sqltips/commentrss.aspx?PostID=8669466</wfw:commentRss><wfw:comment>http://blogs.msdn.com/sqltips/rsscomments.aspx?PostID=8669466</wfw:comment><description>&lt;p&gt;Converting hexadecimal values to varbinary and vice versa is now easier using the XQuery functionality available from SQL Server 2005. The code samples below show how to perform the conversion(s):&lt;/p&gt;  &lt;p&gt;-- Convert hexstring value in a variable to varbinary: &lt;/p&gt;  &lt;p&gt;declare @hexstring varchar(max);&lt;/p&gt;  &lt;p&gt;set @hexstring = 'abcedf012439';&lt;/p&gt;  &lt;p&gt;select cast('' as xml).value('xs:hexBinary( substring(sql:variable(&amp;quot;@hexstring&amp;quot;), sql:column(&amp;quot;t.pos&amp;quot;)) )', 'varbinary(max)')&lt;/p&gt;  &lt;p&gt;from (select case substring(@hexstring, 1, 2) when '0x' then 3 else 0 end) as t(pos)&lt;/p&gt;  &lt;p&gt;go&lt;/p&gt;  &lt;p&gt;-- Convert binary value in a variable to hexstring: &lt;/p&gt;  &lt;p&gt;declare @hexbin varbinary(max); &lt;/p&gt;  &lt;p&gt;set @hexbin = 0xabcedf012439; &lt;/p&gt;  &lt;p&gt;select '0x' + cast('' as xml).value('xs:hexBinary(sql:variable(&amp;quot;@hexbin&amp;quot;) )', 'varchar(max)'); &lt;/p&gt;  &lt;p&gt;go&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;For more details on XQuery see link below:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://msdn.microsoft.com/en-us/library/ms189075(SQL.100).aspx" href="http://msdn.microsoft.com/en-us/library/ms189075(SQL.100).aspx"&gt;http://msdn.microsoft.com/en-us/library/ms189075(SQL.100).aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;In SQL Server 2008, these conversions are even more easier since we added support directly in the CONVERT built-in function. The code samples below show how to perform the conversion(s):&lt;/p&gt;  &lt;p&gt;declare @hexstring varchar(max);&lt;/p&gt;  &lt;p&gt;set @hexstring = '0xabcedf012439';&lt;/p&gt;  &lt;p&gt;select CONVERT(varbinary(max), @hexstring, 1);&lt;/p&gt;  &lt;p&gt;set @hexstring = 'abcedf012439';&lt;/p&gt;  &lt;p&gt;select CONVERT(varbinary(max), @hexstring, 2);&lt;/p&gt;  &lt;p&gt;go&lt;/p&gt;  &lt;p&gt;declare @hexbin varbinary(max);&lt;/p&gt;  &lt;p&gt;set @hexbin = 0xabcedf012439;&lt;/p&gt;  &lt;p&gt;select CONVERT(varchar(max), @hexbin, 1), CONVERT(varchar(max), @hexbin, 2);&lt;/p&gt;  &lt;p&gt;go&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;For more details on the new CONVERT binary styles see link below:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://msdn.microsoft.com/en-us/library/ms187928(SQL.100).aspx" href="http://msdn.microsoft.com/en-us/library/ms187928(SQL.100).aspx"&gt;http://msdn.microsoft.com/en-us/library/ms187928(SQL.100).aspx&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8669466" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sqltips/archive/tags/SQL+Server+2005/default.aspx">SQL Server 2005</category><category domain="http://blogs.msdn.com/sqltips/archive/tags/SQL+Server+2008/default.aspx">SQL Server 2008</category><category domain="http://blogs.msdn.com/sqltips/archive/tags/Programming/default.aspx">Programming</category></item><item><title>Converting from Base64 to varbinary and vice versa</title><link>http://blogs.msdn.com/sqltips/archive/2008/06/30/converting-from-base64-to-varbinary-and-vice-versa.aspx</link><pubDate>Tue, 01 Jul 2008 04:25:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8669430</guid><dc:creator>SQL Server Engine Team</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/sqltips/comments/8669430.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sqltips/commentrss.aspx?PostID=8669430</wfw:commentRss><wfw:comment>http://blogs.msdn.com/sqltips/rsscomments.aspx?PostID=8669430</wfw:comment><description>&lt;p&gt;Converting Base64 values to varbinary and vice versa is now easier using the XQuery functionality available from SQL Server 2005 onwards. The code samples below show how to perform the conversion:&lt;/p&gt;  &lt;p&gt;-- Convert Base64 value in a variable to varbinary:&lt;/p&gt;  &lt;p&gt;declare @str varchar(20);&lt;/p&gt;  &lt;p&gt;set @str = '3qAAAA==';&lt;/p&gt;  &lt;p&gt;select cast(N'' as xml).value('xs:base64Binary(sql:variable(&amp;quot;@str&amp;quot;))', 'varbinary(20)');&lt;/p&gt;  &lt;p&gt;-- Convert binary value in a variable to Base64:&lt;/p&gt;  &lt;p&gt;declare @bin varbinary(20);&lt;/p&gt;  &lt;p&gt;set @bin = 0xDEA00000;&lt;/p&gt;  &lt;p&gt;select cast(N'' as xml).value('xs:base64Binary(xs:hexBinary(sql:variable(&amp;quot;@bin&amp;quot;)))', 'varchar(20)');&lt;/p&gt;  &lt;p&gt;-- Convert varbinary value in a column to Base64:&lt;/p&gt;  &lt;p&gt;select top (10) cast(N'' as xml).value('xs:base64Binary(xs:hexBinary(sql:column(&amp;quot;qs.sql_handle&amp;quot;)))', 'varchar(512)') as sql_handle_base64&lt;/p&gt;  &lt;p&gt;into #t&lt;/p&gt;  &lt;p&gt;from sys.dm_exec_query_stats as qs;&lt;/p&gt;  &lt;p&gt;-- Convert Base64 value in a column to varbinary:&lt;/p&gt;  &lt;p&gt;select cast(N'' as xml).value('xs:base64Binary(sql:column(&amp;quot;t.sql_handle_base64&amp;quot;))', 'varbinary(20)') as sql_handle&lt;/p&gt;  &lt;p&gt;from #t as t;&lt;/p&gt;  &lt;p&gt;drop table #t;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;For more details on XQuery see link below:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a title="http://msdn.microsoft.com/en-us/library/ms189075(SQL.100).aspx" href="http://msdn.microsoft.com/en-us/library/ms189075(SQL.100).aspx"&gt;http://msdn.microsoft.com/en-us/library/ms189075(SQL.100).aspx&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8669430" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sqltips/archive/tags/SQL+Server+2005/default.aspx">SQL Server 2005</category><category domain="http://blogs.msdn.com/sqltips/archive/tags/SQL+Server+2008/default.aspx">SQL Server 2008</category><category domain="http://blogs.msdn.com/sqltips/archive/tags/Programming/default.aspx">Programming</category></item></channel></rss>