【问题标题】:sql server float format globalizationsql server 浮点格式全球化
【发布时间】:2017-05-15 09:30:06
【问题描述】:

如何在 SQL Server 中创建一个通用的浮点类型(使用句点而不是逗号)?

本地计算机中的 My SQL Server Management Studio (SSMS) 显示带逗号的数字 (23,10)。但是当我在服务器中尝试使用我的 SSMS 时,它显示的数字带有句号(23.10)。

这会在我尝试插入数字时产生影响。

INSERT INTO TableA (ColumnA) VALUES (10.20)

它将插入 1020 而不是 10.20

【问题讨论】:

    标签: c# sql sql-server numbers format


    【解决方案1】:
    INSERT INTO TableA (ColumnA) VALUES (@val)
    

    double val = ... // or decimal, float, etc...
    cmd.Parameters.Add("val", val);
    

    那么它就不再是问题了。

    如果要使用 SQL 文字,则需要使用 . 作为十进制说明符。 SSMS 在 results 中向您显示的内容是 UI 格式的(例如:i18n/g10n)。然而,原始 TSQL 输入并不遵循这些细节。 C# 也没有。

    【讨论】:

    • 是的,我用的是句号。当我尝试插入 10.20(本地计算机)时,SQL Server 数据库将其存储为 1020,这是错误的。但是当我直接在服务器中尝试时,它会存储 10.20
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-05
    • 1970-01-01
    • 1970-01-01
    • 2023-03-20
    • 1970-01-01
    相关资源
    最近更新 更多