如何从时间戳中以正确的格式提取日期

How to pull the date in proper format from timestamp

我在 Oracle SQL 开发人员工作并拥有以下代码

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 是一个时间戳,但我不确定是否纠正它。任何帮助表示赞赏。谢谢!

尝试使用 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)