正确的 to_char 日期语法在毫秒后有尾随零

correct to_char date syntax to have trailing zeroes after milliseconds

我当前在 oracle sql 中获取时间戳格式的查询是 TO_CHAR(c2.start_on,'DD-MM-YY HH:MI:SS.FF PM'),它输出这样的时间戳 25-11-20 07:00:13.36 PM

但是我希望它以这种方式显示日期25-11-20 07:00:13.360000000 PM

我应该在时间戳格式中添加什么才能使其成为可能? 我已经按照建议 尝试这样做 HH:MI:SS.FM00000 但它给了我错误。 ORA-01821: date format not recognized

以所需格式获取日期的正确方法是什么?

如果你想要小数秒,你不需要 DATE,你想要 TIMESTAMP。所以这是一个时间戳,格式为 6 位精度

select to_char(systimestamp, 'HH:MI:SS.FF6') from dual;

如果您有日期,可以将其转换为时间戳(使用 CAST AS TIMESTAMP),但最好先更新您的数据模型,以便为源列使用正确的类型。