2

我想通过 SQL Loader 将记录加载到 Oracle 数据库中。一切工作正常,除了日文字符没有被修剪并且空白被插入到数据库中。由于这个问题,我必须在我的 Java 代码中使用 StringUtils.stripToEmpty() 函数来获取修剪后的值。我希望 SQL Loader 为我修剪空格。可能吗?如果是,那么请提出解决方案。

我在我的控制文件中使用了这个:

[Field_name] "trim(:[Field_name])"

另外,仅供参考,我的控制文件指定了字符集:

LOAD DATA CHARACTERSET JA16SJIS
APPEND INTO TABLE "[table_name]" fields terminated by '\t' trailing nullcols

这是 SQL Developer DB 的图像。我使用 NVARCHAR2(40 CHAR) 作为该列的数据类型。

在此处输入图像描述

无法显示字段和表名。任何帮助,将不胜感激。谢谢!

4

1 回答 1

1

也许不是空间。

尝试这个

SELECT trim(chr(14909568) FROM ' ユーザー名' ) FROM dual;

这是空间

SELECT ascii(' ') FROM dual;

ASCII('')
---------
32

字符串中的第一个字符' ユーザー名'

SELECT ascii(' ') from dual;

ASCII('')
---------
14909568
于 2021-04-28T04:12:40.353 回答