将数字中的点转换为varchar中的逗号,并插入到select语句中

时间:2017-09-14 18:53:29

标签: java oracle select jdbc insert

我正在编写一个JDBC代码,通过从源表中选择几条记录来向表中插入数据。

在源表Oracle中将列标记为数字[6,2]。但是在目标表中将其标记为varchar。

这是一个使用insert into ... select ..的简单查询。

我没有在查询中将数字转换为char。

这适用于很少的Windows机器。如果源表的数据为0.98,则目标表的值也为0.98

但是在少数Windows机器中,如果源的值为0.98,则目标的值为0,98。 < dot替换为逗号>

OJDBC14& JDK 1.7正在两台机器中使用。

是否知道谁将点更改为逗号。

请帮忙。

2 个答案:

答案 0 :(得分:0)

在数字上是否将逗号(,)或点(。)用作小数分隔符,具体取决于数据库环境NLS设置。

在任何情况下,从表中选择列号时,您可以使用以下示例。

select to_char(n,'000.000') from t;

答案 1 :(得分:0)

伊卡洛斯提供的指示更准确地从源头解决问题。

以下代码段将有助于解决,覆盖JAVA中的区域设置:

Locale locale = Locale.getDefault();
Locale newLocale = new Locale("en", "US");
locale.setDefault(newLocale);

谢谢, 瓦森特。