oracle to_char转换日期格式为28-NOV-14 03.01.10.000000000 AM这样的格式

2024-08-29 11:18:34
推荐回答(1个)
回答1:

1.首先sysdate是取得不到毫秒拦岁的
如果要取得毫秒需要用systimestamp

2. 其次,如果你的数据库默认的NLS_DATA_LANGUAGE不是英语,那么月份显示的就不是NOV,需要做下处尘消理

3. AM或PM是没有这样的格式的,需派衡知要自己写个语句

select to_char(systimestamp, 'dd-MON-yy hh.mi.ss.ff ', 'NLS_DATE_LANGUAGE=American')
||
case when to_char(sysdate, 'hh24') >= '12' then 'PM' else 'AM' end show_time
from dual;