在 SQL 加载程序中将文本转换为日期
Converting Text to Date in SQL Loader
我正在使用以下代码从固定长度的文本文件中读取数据
DATE SYSDATE,
NAME position(9:38),
SCORE position(39,41)
现在我想直接加载 DATE 文本。示例仅引用来自 csv 文件的输入。请帮忙解决这个问题。输入也可以是空字符串,在这种情况下我想用 SYSDATE 替换它。
示例文件内容
11112016SachinTendulkar 110
12122016SachinTendulkar 101
RahulDravid 120
输入的日期格式将为 DDMMYYYY
除了 "date" 之外,请将您的日期列命名为更具描述性的内容,因为这是 Oracle 保留字。我称之为 load_date。您的控制文件条目将如下所示。使用 NVL2 函数。如果 load_date 不为空,则将其转换为日期。如果为空,则使用 sysdate。
load_date position(1:8) "nvl2(:load_date, to_date(:load_date, 'ddmmyyyy'), trunc(sysdate))"
我正在使用以下代码从固定长度的文本文件中读取数据
DATE SYSDATE,
NAME position(9:38),
SCORE position(39,41)
现在我想直接加载 DATE 文本。示例仅引用来自 csv 文件的输入。请帮忙解决这个问题。输入也可以是空字符串,在这种情况下我想用 SYSDATE 替换它。
示例文件内容
11112016SachinTendulkar 110
12122016SachinTendulkar 101
RahulDravid 120
输入的日期格式将为 DDMMYYYY
除了 "date" 之外,请将您的日期列命名为更具描述性的内容,因为这是 Oracle 保留字。我称之为 load_date。您的控制文件条目将如下所示。使用 NVL2 函数。如果 load_date 不为空,则将其转换为日期。如果为空,则使用 sysdate。
load_date position(1:8) "nvl2(:load_date, to_date(:load_date, 'ddmmyyyy'), trunc(sysdate))"