No loops, minimal dynamic sql
Create
table #HexToAlpha
(
recordid dec
(5,0) identity(1,1)
, hexstring char(20)
, alphastring varchar(20)
)
Insert
into #HexToAlpha values('416E6E61737461736961', null)
Insert
into #HexToAlpha values('416E6E656C6F75697361', null)
Insert
into #HexToAlpha values('416E746F696E65747465', null)
Insert
into #HexToAlpha values('4265726E616465747465', null)
Insert
into #HexToAlpha values('4265726E617264696E65', null)
Insert
into #HexToAlpha values('436872697374656C6C65', null)
Insert
into #HexToAlpha values('4368726973746F706572', null)
Insert
into #HexToAlpha values('43696E646572656C6C61', null)
Insert
into #HexToAlpha values('436C656D656E74696E65', null)
Insert
into #HexToAlpha values('4576616E67656C696E65', null)
Insert
into #HexToAlpha values('4672616E636973637573', null)
Insert
into #HexToAlpha values('467265646572696B7573', null)
Insert
into #HexToAlpha values('4777656E646F6C696E65', null)
Insert
into #HexToAlpha values('4A61637175656C696E65', null)
Insert
into #HexToAlpha values('4B726973746F70686572', null)
Insert
into #HexToAlpha values('4D617267756572697461', null)
Insert
into #HexToAlpha values('4D617279636C61697265', null)
Insert
into #HexToAlpha values('53656261737469616E6F', null)
Insert
into #HexToAlpha values('536861756E74656C6C65', null)
Insert
into #HexToAlpha values('5768696C68656D696E61', NULL)
DECLARE
@SQL NVARCHAR(1000)
--SET @SQL = 'update #HexToAlpha set alphastring = cast(cast((''0x'' + hexstring) as varbinary) as varchar)'
create
TABLE #tempsql
(
recordid
INT,
sql
NVARCHAR(500)
)
SET
@SQL = 'insert into #tempsql select recordid,''update #HexToAlpha set alphastring = cast(cast((0x'' + hexstring +'') as varbinary) as varchar)'' from #HexToAlpha'
@SQL
EXEC
sp_executesql @SQL
EXEC
sp_execresultset 'select sql + '' where recordid = '' + cast(recordid as nvarchar) from #tempsql'
SELECT
* FROM #HexToAlpha
DROP
TABLE #HexToAlpha
DROP
TABLE #tempsql
Gordon Pollokoff
"Wile E. is my reality, Bugs Bunny is my goal" - Chuck Jones