none
Numeros decimales en Sql Server RRS feed

  • Pregunta

  • Hola

    Quisiera saber que es màs conveniente en sql server 2016  tratar los nùmeros decimales con el separador decimal coma(,) o con el punto como separador deciaml(.). Si me pueden decir cual es màs conveniente y porquè?

    Gracias.

    viernes, 13 de enero de 2017 21:44

Respuestas

  • pabje,

    Por lo que yo entiendo un valor de tipo decimal se almacena con un formato binario donde no se incluye el separador decimal, el separador decimal se usa sólo para fines de presentación (capa de UI de una aplicación) y será un punto o una coma según la configuración regional definida en el equipo (salvo se haya "forzado" a un formato en especifico que no es lo recomendable). Por otro lado, cuando se ejecuta una consulta de selección y existen valores de tipo decimal el separador que se muestra depende del idioma establecido para el usuario que inició la sesión del servicio de SQL Server, no considera el separador decimal establecido en la configuración regional y creo que tampoco tiene que ver con la intercalación (en caso esté en un error te agradeceré Enrique nos proporciones mayores detalles al respecto).

    Por otro lado, independiente del lenguaje que tenga configurado el usuario, el separador decimal que se usa cuando se escribe un literal de número decimal es el punto, la sintaxis de SQL Server no permite la coma, salvo error u omisión es lo que entiendo.


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    sábado, 14 de enero de 2017 0:05

Todas las respuestas

  • Saludos,

    Esto depende completamente de tu collation o sea el grupo de caracteres que manejes, que yo sera no existe distincion alguna, algunos idiomas usan punto y otros la coma.

    viernes, 13 de enero de 2017 22:00
  • pabje,

    Por lo que yo entiendo un valor de tipo decimal se almacena con un formato binario donde no se incluye el separador decimal, el separador decimal se usa sólo para fines de presentación (capa de UI de una aplicación) y será un punto o una coma según la configuración regional definida en el equipo (salvo se haya "forzado" a un formato en especifico que no es lo recomendable). Por otro lado, cuando se ejecuta una consulta de selección y existen valores de tipo decimal el separador que se muestra depende del idioma establecido para el usuario que inició la sesión del servicio de SQL Server, no considera el separador decimal establecido en la configuración regional y creo que tampoco tiene que ver con la intercalación (en caso esté en un error te agradeceré Enrique nos proporciones mayores detalles al respecto).

    Por otro lado, independiente del lenguaje que tenga configurado el usuario, el separador decimal que se usa cuando se escribe un literal de número decimal es el punto, la sintaxis de SQL Server no permite la coma, salvo error u omisión es lo que entiendo.


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    sábado, 14 de enero de 2017 0:05
  • Saludos William

    Estoy rehaciendo mi laboratorio de momento pero la primera parte tienes razón, de la misma manera que la fecha es un valor numérico, pero normalmente este detalle no es algo importante para usuarios finales y tal vez demasiada informacion, lo de la intercalación lo probare luego pero no creo que tenga que ver con el locale.

    domingo, 15 de enero de 2017 23:53