如何将数字转换为日期格式?

How to convert number to date format?

我想将数字转换为日期格式。如何在oracle中转换? 示例:我有时间键列(数据类型编号)并想创建新列作为日期

Time Key       Date
2018030100     01-Mar-2018

你只想to_date()吗?

假设最后两位总是00:

select to_date(my number / 100, 'yyyymmdd') as mydate 
from mytable

或者如果它们可以有其他值,但您总是想忽略它们:

select to_date(round(my number / 100), 'yyyymmdd') as mydate 
from mytable

您可以使用 to_date 和 trim 函数。

select to_char(to_date(trim( trailing '0' from '2018030100'),'yyyymmdd'), 'dd-mon-yyyy') from dual;

如果您有数字字段,那么您可以:

select to_char(to_date(trim( trailing '0' from id),'yyyymmdd'), 'dd-mon-yyyy') from test_date;