Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Convertire VarBinary in VarChar
martedì 03 marzo 2009 - 12.36
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
volperubbia
Profilo
| Senior Member
375
messaggi | Data Invio:
mar 3 mar 2009 - 12:36
Ciao a tutti,
avrei bisogno in una SELECT di convertire una colonna VARBINARY in un valore VARCHAR,
non mi importa che stringa esca, basta che siano valori diversi, anche perchè la colonna
VARBINARY è chiave. Sto usando questa funzione:
ALTER FUNCTION [dbo].[ufnProva]
(
@VALUE AS VARBINARY(255)
)
RETURNS VARCHAR(MAX)
AS
BEGIN
DECLARE @OUTPUT AS VARCHAR(MAX)
DECLARE @hexstring AS CHAR(16)
DECLARE @i AS INT, @LENGTH AS INT, @tempint AS INT, @firstint AS INT, @secondint AS INT
SELECT @OUTPUT = '0x', @i = 1, @LENGTH = DATALENGTH(@VALUE), @hexstring = '0123456789abcdef'
WHILE (@i <= @LENGTH)
BEGIN
SET @tempint = CONVERT(INT, SUBSTRING(@VALUE, @i, 1))
SET @firstint = FLOOR(@tempint / 16)
SET @secondint = @tempint - (@firstint * 16)
SET @OUTPUT = @OUTPUT + SUBSTRING(@hexstring, @firstint+1, 1) + SUBSTRING(@hexstring, @secondint+1, 1)
SET @i = @i + 1
END
RETURN @OUTPUT
END
Funziona, ma è troppo pesante e lenta.
Sapete se c'è un modo più pulito?
Grazie per l'attenzione,
Davide
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !