mysql - 如何处理 SQL Loader 中的条件空间?

标签 mysql sql oracle11g sql-loader

我有一个 dat 文件要加载到数据库中。 我的代码如下。

LOAD DATA
INFILE 'ABC.DAT'
APPEND
INTO TABLE RECORDS WHEN (COL1 ='F')
(
COL1 POSITION(1:1),
 COL2 POSITION(2:6),
 ...
)
INTO TABLE RECORDS WHEN (COL1 =' ')
(

COL1 POSITION(1:1),
COL3 POSITION(2:6),
 ...
)

第一个条件工作正常,但第二个条件总是失败。 我尝试用 COL1 !-'F' 检查它,但这也没有帮助。

有人知道如何处理when子句中的空格吗?

最佳答案

构造您的when子句以按位置而不是列名称测试字符,如下所示:

LOAD DATA
INFILE 'ABC.DAT'
APPEND
INTO TABLE RECORDS WHEN (1) = 'F'
(
COL1 POSITION(1:1),
 COL2 POSITION(2:6),
 ...
)
INTO TABLE RECORDS WHEN (1) = ' '
(

COL1 POSITION(1:1),
COL3 POSITION(2:6),
 ...
)

关于mysql - 如何处理 SQL Loader 中的条件空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31250647/

相关文章:

php - 从主数据库获取数据库凭据,然后连接到不同的数据库

mysql - 在MySQL中,如何将 "join"三张表

php - 处理多对多表,第三个表需要更多属性

java - 将 Oracle 身份验证迁移到表

linux - 巨大的 Oracle 重做日志

mysql - 如何在MySql数据库中选择几条记录进行编辑

多列的 SQL 条件约束是唯一的

MYSQL:如何使用内部连接连接两个表,然后为以下示例计算第二个表的总数

sql - 带索引的高写入量 PostgreSQL 表的性能优化

java - 如何使用java备份oracle数据库?