sql - 使用 Load when 子句时出现问题?

标签 sql database plsql oracle10g sql-loader

我需要拒绝外部表中以 CSV 中的某些特殊字符(例如 ~ \ 等)开头(每行的第一列)的行文件。

为此,我在 ACCESS PARAMETERS 子句中使用了 LOAD WHEN 子句。我一直在访问参数子句中使用以下语句:

load when (1:1) != '~'

但它抛出一个错误,指出“无效字符”

如果我尝试使用下面的语句,

load when (empname != '~empname')

它抛出:

ERROR at line 1:
ORA-29913: error in executing ODCIEXTTABLEFETCH callout
ORA-06512: at "SYSTEM.EMP_PROCEDURE", line 101
ORA-06512: at line 1

程序中的第 101 行是 select * from emp;

如何使用 LOAD WHEN 子句 - 有例子吗?

最佳答案

你可以使用这个:

LOAD WHEN (1:1) != 0x'7e'

引用:http://download.oracle.com/docs/cd/E11882_01/server.112/e16536/et_params.htm#i1009513

关于sql - 使用 Load when 子句时出现问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5977053/

相关文章:

oracle - 在 oracle 的游标声明查询中使用变量

sql - 如何做相当于 "limit distinct"?

mysql - 拆分数据库表为经常查询的数据+其他数据

SQL代码更新表

database - 如何摆脱#func!出现在MS Access的查询表中?

mongodb - 如何删除mongodb中的数组元素

oracle - Oracle SQL功能:添加局部变量

database - 在触发器期间更新 oracle 中的同一行?

sql - 在 SQL 查询中同时使用 union 和 count(*)

java - 如何使值 90 之后的子字符串 +1