SQL Server - Cambiar tipo de dato

   
Vista:

Cambiar tipo de dato

Publicado por Francisco Rodriguez (17 intervenciones) el 03/09/2008 17:44:56
Hola en un archivo de hechos que nos proporcionaron encontre valores numericos, por lo que deje el tipo de dato INT, pero ahora que me han pasado el catalogo vienen datos caracter.

Que pasa si hago este ajuste en la bd ? o
podre comparar ese int con un varchar del catalogo?"

Comento esto porque la tabla de hechos ya fue cargada con 6000 millones de registros.
alguna idea de que pueda hacer?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Cambiar tipo de dato

Publicado por pacopaz (131 intervenciones) el 03/09/2008 18:03:31
La buena noticia es que si puedes hacerlo, usando la función CAST. Algo como esto:

cast([Campo] as varchar(10))
donde
[Campo] es el nombre del campo en tu tabla, que es int y que quieres comparar.

Lo ideal sería que ambas fueran del mismo tipo. Lo que puedes hacer es alterar tu tabla, para incluir un campo de mismo tipo del catálogo y luego hacer un query como esto:

update
[Tabla]
set
[CampoNuevo] = Cast([Campo] as varchar(10))

donde
[Tabla] es la tabla de hechos
[CampoNuevo] es el campo que adicionas para hacer idénticos los tipos de datos
[Campo] es el campo que actualmente utilizas y que es de tipo int.

Luego de esto, podrás borrar con seguridad el campo que ocupas en actualmente.

Nota que estoy suponiendo que los datos en el catálogo son tipo varchar(10), pero esto no es necesariamente correcto.
Obviamente, tendrías que hacer un respaldo previo a tu base de datos, por si algo falla.

Espero que te sirva.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Cambiar tipo de dato

Publicado por Francisco Rodriguez (17 intervenciones) el 03/09/2008 23:54:52
lo probaré
Muchas Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar