Estoy usando Sybase y estoy haciendo una selección que me devuelve una columna llamada "iftype", pero su tipo es int y necesito convertirlo en varchar. Cuando intento hacer la selección sin la función de conversión, aparece este error:
Código de error 257, estado SQL 37000: no se permite la conversión implícita del tipo de datos 'VARCHAR' a 'INT'. Use la función CONVERTIR para ejecutar esta consulta.
No sé cómo implementar la función CONVERT
. ¿Alguien puede ayudarme, por favor?
sql
select
type-conversion
sybase
Murilo
fuente
fuente
Respuestas:
Utiliza la función de conversión.
fuente
VARCHAR
aINT
, pero estoy respondiendo a su pregunta, no el mensaje de error.varchar
dondeint
se necesita un. Necesita escribir su declaración SQL real para que podamos ayudarlo.varchar(11)
en caso de que el número sea un número negativo grande.Usa la
STR
función:Argumentos
expresión_ flotante
Es una expresión de tipo de datos numérico (flotante) aproximado con un punto decimal.
longitud
Es la longitud total. Esto incluye punto decimal, signo, dígitos y espacios. El valor predeterminado es 10.
decimal
Es el número de lugares a la derecha del punto decimal. el decimal debe ser menor o igual que 16. Si el decimal es mayor que 16, el resultado se trunca a dieciséis lugares a la derecha del punto decimal.
fuente: https://msdn.microsoft.com/en-us/library/ms189527.aspx
fuente
STR()
debería ser la respuesta correcta, es más simple y menos propenso a errores que las alternativas.Puedes usar la
CAST
función:fuente
En realidad no necesitas usar STR o Convert. Simplemente seleccione 'xxx' + LTRIM (1) hace el trabajo. Posiblemente, LTRIM usa Convert o STR debajo del capó.
LTRIM también elimina la necesidad de proporcionar longitud y, por lo general, 10 por defecto es lo suficientemente bueno para la conversión de entero a cadena.
fuente
CONVERT(DATA_TYPE , Your_Column)
es la sintaxis para el método CONVERT en SQL. Desde esta función de conversión podemos convertir los datos de la Columna que está en el lado derecho de la coma (,) al tipo de datos en el lado izquierdo de la coma (,). Vea el ejemplo a continuación.fuente