SQL INSERT INTO:逗号为十进制

时间:2016-07-04 14:24:25

标签: sql-server internationalization double decimal

我的问题是我的客户在Windows机器上运行他的SQL Server,国家/地区设置设置为"德国"。

这意味着,小数点不是var rtc_configuration = { iceServers: [ {urls: "stun:numb.viagenie.ca"}, {urls: "turn:numb.viagenie.ca", username: "username", credential: "credential", credentialType: "password"} ], bundlePolicy: "balanced", iceTransportPolicy: "all", rtcpMuxPolicy: "negotiate", iceCandidatePoolSize: 20, certificates: [] }; var peer_connection = new rtc_peer_connection(rtc_configuration); peer_connection.onicecandidate = pc_on_ice_candidate; 点,而是逗号.

将double值插入数据库就像这样

,

到目前为止工作正常。

如果语句中有多个带小数位的值,则会出现问题,如

INSERT INTO myTable (myPrice) VALUES (16,5)

我收到错误

  

查询值和目标字段的数量不同。

我可以以某种方式"划定"价值?试图添加括号,但这不起作用。

不幸的是,我无法更改操作系统或数据库的语言设置,因为我只是在现有应用程序中编写了一些附加组件。

谢谢! EV

1 个答案:

答案 0 :(得分:1)

您必须以数据库允许的格式放置数据。即使您使用逗号放置数据......您可能会放弃数值计算。

如果我遇到这种情况..我会检查是否只需要逗号来查看..然后我会以逗号格式显示值,同时以十进制格式存储它们。

这样,数据可以很容易地作为数字处理。但需要仅为UI或显示来回更改它。

基于此,如果需要,您可以更详细地描述您的情况。

编辑:要验证我的理论,您可以检查此插入语句是否已在数据库中插入165或16.5。

  INSERT INTO myTable (myPrice) VALUES (16,5);
  select from mytable where myprice <17;