在SQL中使用TO_DATE时出错

时间:2016-06-15 08:19:26

标签: sql oracle to-date

我理解Oracle SQL中基本的TO_DATE用法。我谷歌并找到了一些使用TO_DATE的指南,这是将朱利安日期转换为正常日期。

基本工作代码是:

SELECT TO_CHAR((TO_DATE(2016365, 'YYYYDDD'))) FROM DUAL)

但是,我想转换包含数千个日期的列中的日期。 我做的是:

SELECT TO_CHAR((TO_DATE(PREVDT, 'YYYYDDD'))) FROM DUAL)

更改是PREVDT,因为我所有的julian日期都在PREVDT列中。但是,我得到无效的标识符.....任何人都可以帮助我吗?

我也试过这个但没有运气:

TO_CHAR((TO_DATE(PREVDT, 'YYYYDDD')))

2 个答案:

答案 0 :(得分:0)

您需要提供列PREVDT所在的表名。

select TO_CHAR((TO_DATE(PREVDT, 'YYYYDDD'))) FROM yourTable

答案 1 :(得分:0)

Oracle DUAL表没有列PREVDT。你想要做的是对你的表运行查询,那个列是PREVDT。

SELECT TO_CHAR((TO_DATE(PREVDT, 'YYYYDDD'))) FROM your_table_name;

PREVDT值应采用指定的日期格式,否则您将收到错误。

详细了解DUAL表here