Concatenar y convertir varchar a varbinary

Alfredoal primero agradeciendo tu ayuda en temas anteriores que han hecho que el proyecto que estoy elaborando este por buen camino, ahora te realizo una nueva pregunta
______________________
quiero Declarar @item1 e item1b como varbinary(32)
______________________
Declare @item1 varbinary(32)
Declare @item1b varbinary(32)
SELECT @item1 = '005733', @item1B = '040007000000000000' FROM inserted
UPDATE Character
SET questpp = concatenar(@item1;@item1b)
WHERE questpp1 = 43
GO
_______________________
Pero me da el siguiente error
No se permite la conversión implícita del tipo de datos varchar a varbinary. Utilice la función CONVERT para ejecutar esta consulta.
_______________________
Mi intención es que cuando questpp1 sea ingresado el numero 43 @item1 obtenga el valor 005733 y @item1b obtenga el valor 040007000000000000 y que como resultado mi columna questpp una @item1 y @item1b, mi objetivo es que todos estos resultados sean varbinary
_______________________
También quiero poder unir @item1 e @item1b como se hace en excel con la función concatenar pero desconozco que función puedo utilizar para este proceso para que me quede 005733040007000000000000
_______________________
Desde ya muy agradecido por tu ayuda y te pido disculpas por las molestas

1 respuesta

Respuesta
1
¿Por qué te interesa que sea varbinary?
Una manera sencilla de concatenar datos de tipo de cadena es usando "+", ejemplo:
Declare @cadena1 Varchar(100)
Declare @cadena2 varchar(100)
set @cadena1 = 'ABCDEF'
SET @cadena2 = '012345'
Select @cadena1 + @cadena2
Go
El resultado sera: ABCDEF012345
Así se concatenan las cadenas en SQL. Si los datos que vas a usar en tu base de datos van a ser tratados como cadena entonces te recomiendo que consideres usar el tipo de datos VARCHAR.
Mucha suerte
Hola te comento que es la base de un juego online y sobre la variable a trabajar es varbinary y no puedo cambiarla porque ya viene así, en realidad es el inventario de un personaje el que estoy podificando y al tener ciertos elementos por medio de la página hago que una variable "questpp1" obtenga el no. 43 y cambien los requisitos por lo nuevo,
Es por eso que tiene que ser varbinary
Gracias por lo de concatenar
Andale! Que interesante. Pues mucha suerte. Por el momento te dejo un ejemplo para convertir varbinary a varchar y varchar a varbinary; espero que te sirva.
Declare @cadena1 Varchar(100)
Declare @cadena2 Varchar(100)
set @cadena1 = '005733'
SET @cadena2 = '040007000000000000'
select cast(Cast((@cadena1 + @cadena2) as varbinary(30))as varchar)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas