2010-12-05 11 views
6

Estoy usando una base de datos SQL 2000.Necesito convertir el campo de Texto a Varchar temporalmente para poder pasar a un procedimiento almacenado

Estoy trabajando con una base de datos en la que no puedo cambiar los tipos en las tablas o los procedimientos almacenados. Uno de los procedimientos almacenados que necesito llamar espera un parámetro de 'texto'. Puedo acceder al campo de texto, pero no puedo averiguar quién lo almacena en una variable ni de ninguna otra forma para pasarlo al procedimiento almacenado.

Si intento crear una variable de texto, SQL no me lo permite; si lo convierto en varchar, solo obtengo el primer carácter del campo de texto.

¡Se agradecen todos los trucos para evitar esto! ¡Gracias!

Respuesta

16

declarar la variable de tipo varchar(8000)

declare @v varchar(8000) 
SET @v = (SELECT CAST(textcol as varchar(8000)) FROM yourtable WHERE ....) 

Obviamente aún podría ser truncado, pero no a 1 carácter.

+0

Hola, actualicé mi pregunta para mostrar que estoy usando SQL 2000. – user53885

+1

Deberá usar 'varchar (8000)' o 'nvarchar (4000)' luego. Obviamente, podría estar truncado, pero no con 1 carácter. –

+0

La mayoría de estos campos de texto contienen mucho más de 8000, sin embargo, esto definitivamente es de gran ayuda. – user53885

Cuestiones relacionadas