如何从时间戳中以适当的格式提取日期

时间:2015-06-15 13:58:39

标签: oracle timestamp

我在Oracle SQL Developer中工作并拥有以下代码

SELECT Trunc(assigned_date, 'IW') AS bonus_week 
FROM   (SELECT Trunc(blf.assigned_date) AS assigned_date 
        FROM   olap.bonus_lifecycle_fact blf) 

我以这种形式获得输出

07-12-03

08-01-28

08-01-28

08-01-28

08-01-07

这是DD-MM-YY

这很好,除非我导出到Excel时发生了一些不稳定的事情。

eg: 08-01-28 becomes 08-01-2028. 

我认为这是因为blf.assigned_date是一个时间戳,但我不确定是否会纠正它。任何和所有帮助表示赞赏。谢谢!

1 个答案:

答案 0 :(得分:0)

尝试使用to_char功能格式化日期以使用完整的4位数年份,然后导出到Excel。

SELECT TO_CHAR(Trunc(assigned_date, 'IW'), 'MM-DD-YYYY') AS bonus_week 

注意:我假设你有28个转换为2028而不是1928的问题。上面的解决方案应该解决这个问题。

此外,您还可以更改Excel列的格式,以2位数字显示年份(28而不是1928或2028)