none
Conventir numero decimal con coma a decimal con punto RRS feed

  • Pregunta

  • Buenas días,

    Estoy intentando introducir en la base de datos un numero decimal, el problema es que me viene con una "," en vez de ".", he leido otros post, y he intentado hacer un replaces.

    La situación es la siguiente, yo leo de un excel una columna, esta viene en formato numerico, esta  se muestra en la excel con 2 digitos decimales aunque realmente almacena 14.

    Yo uso un dataflow en el cual leo de la excel, uso un derived column y a continuacion introduzco en mi tabla, dentro del derived column, en la columna de derived column eligo la opcion replace'TM SOLICITUDES ACEPTADAS'  y en expresion cojo la opcion replace "REPLACE( «character_expression», «search_expression», «replace_expression» )",, yo pongo lo siguiente REPLACE( [TM SOLICITUDES ACEPTADAS], ',',  '.' ),  despues uso otro derived column para añadir la columna de tipo decima (10,2), aunque tambien he probado con un decilmal(38,38), y a continuacion inserto en BBDD, y me sigue sin cojer los decimales, me mete el numero que sea sin decimal y añade un punto y dos ceros a continuacion.

    Tambien si cambio el tipo de dato en BBDD y el derived column no lo convierto a decimal, me lo inserta en BBDD con bien con su entero, y decimal correctamente.

    Muchisimas gracias por vuestra ayuda

    Un saludo



    • Editado vigasi jueves, 13 de octubre de 2011 14:22
    jueves, 13 de octubre de 2011 12:05

Respuestas

  • Si es un número, la representación del separador decimal depende de la configuración regional, no de Excel.

    En cualquier caso, si has probado y te da el error de conversión, con esa columna derivada sería suficiente, ya que SQL Server puede hacer la conversión implícita de una cadena de caracteres que represente un número con el punto como separador decimal a un tipo de datos DECIMAL.

    Y, de todos modos, este tipo de cosas es mejor que las pruebes directamente tú, ya que en este caso no cuesta mucho y no tiene implicaciones negativas, además que es la mejor forma de aprender. Al fin y al cabo, las respuestas que se encuentran en un foro no son más que palabras, y lo suyo es confirmarlo con la experiencia directa  :)

    jueves, 13 de octubre de 2011 14:24