无法识别 SQL 加载程序日期格式

标签 sql database oracle controls loader

我的应用程序中有一个 sql loader ,它插入一些日期和其他数据 在数据库中。在简化版本中,以下内容:

INTO TABLE DONNEES
FIELDS TERMINATED BY ';'
TRAILING NULLCOLS 
(ID NUMBER
,DAT_FR date "YYYY/MM/DD"
,DAT date "to_date('01'||to_char(:DAT_FR,'MMYYYY'),'DDMMYYYY')"

DAT_FR 是正确的,但我对 DAT 有错误。例如,如果 DAT_FR 等于 2016/07/14,我希望我的数据库中的 DAT“等于”2016/07/01(该月的第一天)。

错误是:“ORA-01821:无法识别日期格式”

你能帮帮我吗?

示例输入:

1;2016/05/31
2;2016/06/14

最佳答案

试试这个:

INTO TABLE DONNEES
FIELDS TERMINATED BY ';'
TRAILING NULLCOLS 
(
    ID NUMBER,
    DAT_FR date "TO_DATE(TO_CHAR(TO_DATE(:DAT_FR, 'YYYY/MM/DD'), 'YYYY/MM') || '/01', 'YYYY/MM/DD'"
)

关于无法识别 SQL 加载程序日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38433222/

相关文章:

sql - Oracle SQL解析器

mysql - 每月队列分析 SQL

php - 合并来自两个 PDO 查询的结果

ios - 在 iOS 中存储/加载本地数据的最佳方式是什么?

mysql - 什么时候查询结果是非标量的?

php_network_getaddress 错误

c++ - Oracle Pro*C for insert with a sub select query causing ORA-01403 : no data found

sql - Oracle SQL 存储过程调用与执行

mysql - SQL/MySQL/PostGres - 当价格更新时返回所有列和记录

sql - 删除 SQL 中一对元素的顶行