SQL * Loader

时间:2017-10-27 06:41:52

标签: oracle csv sql-loader

每当SQL * Loader在读取NULL文件时遇到错误日期(0000-00-0000:00)时,我都需要在表中插入.csv

csv中提供的错误日期始终为0000-00-00 00:00:00

我需要帮助找出处理错误日期和正确日期的案例。

有两种情况:

  1. 日期格式正确(YYYY / MM / DD hh24:mi:ss)
  2. 日期格式错误(0000-00-00 00:00:00)
  3. 最初我在SQL控制文件中有一个简单的语句,如下所示,现在我需要添加案例来处理坏日期。

    START_DATE DATE "YYYY/MM/DD hh24:mi:ss" NULLIF (START_DATE = "NULL")

    我需要一个SQL * Loader语句来处理上述两种情况。

1 个答案:

答案 0 :(得分:1)

文件中的所有数据本质上都是一个字符串,直到验证为不同的数据类型。因此,在将错误数据转换为日期之前,您可以将其视为字符串的字符串:

START_DATE "TO_DATE(NULLIF(:START_DATE, '0000-00-00 00:00:00'), 'yyyy/mm/dd hh24:mi:ss')"

我有点担心"坏"的格式?日期与好日期的日期不同。它表示正在发生的事情,例如,您可能不知道来自两个不同系统的数据或该字段未被存储为源系统中的日期。

如果可能的话,我会仔细检查这些数据的构建方式以及错误日期的预期含义。