cast y convert

16/06/2004 - 13:36 por Fernando Ugarte | Informe spam
Hola
tengo una tabla que es todo texto por esas cosas de la "antigua
programacion" y es la siguiente

ndoc char 8
numero_afiliado char 6
anio_aporte char 4
mes_aporte char 2
ssal char 6
adhe char 6

ahora bien, ssal es una columna numerica, con dos decimales (ej 000588 seria
5,88)

he podido generar una vista que transforma este campo a numerico, pero en
alguna parte de esta inmensa tabla hay errores y no puede convertir los
valores
y me tira el siguiente error "Error del proveedor de origen de datos:
[Microsoft][ODBC SQL Server Driver][SQL Server]Error al convertir el tipo de
datos varchar a numeric.;37000;[Microsoft][ODBC SQL Server Driver]Error en
la fila;01S01 RECORD'9805,; hora:16/06/2004 8:33:50"

Gracias




Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.701 / Virus Database: 458 - Release Date: 07/06/2004
 

Leer las respuestas

#1 Adrian D. Garcia
16/06/2004 - 19:06 | Informe spam
Existe una funcion en T-SQL llamada ISNUMERIC que devuelve 0 si el valor
pasado como parametro NO es numerico y 1 si lo es. Comvinado con la la
instruccion CASE podrias hacer algo asi como:

SELECT CASE ISNUMERIC(ssal)
WHEN 1
CONVERT(decimal, ssal)
ELSE
0
END , .

Saludos
Adrian D. Garcia
MCSD
NDSoft Consultoria y Desarrollo

"Fernando Ugarte" <Nando> wrote in message
news:OuaE%
Hola
tengo una tabla que es todo texto por esas cosas de la "antigua
programacion" y es la siguiente

ndoc char 8
numero_afiliado char 6
anio_aporte char 4
mes_aporte char 2
ssal char 6
adhe char 6

ahora bien, ssal es una columna numerica, con dos decimales (ej 000588


seria
5,88)

he podido generar una vista que transforma este campo a numerico, pero en
alguna parte de esta inmensa tabla hay errores y no puede convertir los
valores
y me tira el siguiente error "Error del proveedor de origen de datos:
[Microsoft][ODBC SQL Server Driver][SQL Server]Error al convertir el tipo


de
datos varchar a numeric.;37000;[Microsoft][ODBC SQL Server Driver]Error en
la fila;01S01 RECORD'9805,; hora:16/06/2004 8:33:50"

Gracias




Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.701 / Virus Database: 458 - Release Date: 07/06/2004


Preguntas similares