代码之家  ›  专栏  ›  技术社区  ›  Gian Paolo

查询结果中未显示当前区域设置的小数

  •  1
  • Gian Paolo  · 技术社区  · 6 年前

    我正在使用意大利语言环境设置处理SQLServer2012数据库,在查询十进制字段时,我在SSMS中得到的结果有一种奇怪的行为

    对于其他数字格式(如货币或浮动),查询结果显示一个带有意大利小数分隔符(逗号“,”)的数字

    对于小数,使用国际小数分隔符(点“.”)

    select 
        cast(1234.567 as decimal(7, 3)) as decimalValue
        , cast(1234.567 as float) as floatValue
        , cast(1234.567 as money) as MoneyValue
    

    结果:

    decimalValue    floatValue  MoneyValue
    1234.567        1234,567    1234,567
    

    如何在SSMS的查询结果中获取用意大利小数分隔符格式化的十进制值?

    编辑 : 刚找到一个解决方法:

    select cast(MyDecimalField as float) from MyTable
    

    这似乎很管用,但奇怪的是,我需要从“精确”数字类型转换为浮点数字类型

    1 回复  |  直到 6 年前