我正在编写一个JDBC代码,通过从源表中选择几条记录来向表中插入数据。
在源表Oracle中将列标记为数字[6,2]。但是在目标表中将其标记为varchar。
这是一个使用insert into ... select ..的简单查询。
我没有在查询中将数字转换为char。
这适用于很少的Windows机器。如果源表的数据为0.98,则目标表的值也为0.98
但是在少数Windows机器中,如果源的值为0.98,则目标的值为0,98。 < dot替换为逗号>
OJDBC14& JDK 1.7正在两台机器中使用。
是否知道谁将点更改为逗号。
请帮忙。
答案 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);
谢谢, 瓦森特。