日期时间格式化输出
下面是我知道的:
to_char(start_time)将按原样返回start_time字段的字符形式,如:
SELECT TO_CHAR(start_time, '%A %B %d, %Y %R') FROM tab1
结果是:
Wednesday July 23, 2003 18:45
其中:
%A:周、%B:月(英文)、%m月(数字)、%d:日、%Y:年,%R:时间。
拆分出来可以这么写:to_char('20040615111213','%Y%m%d%H%M%S')
但是满足不了需要:
date类型字段按TO_CHAR("%三字母月名称/%d/%Y")输出的格式化字符串是什么?
datetime类型字段TO_CHAR("%三字母月名称/%d/%Y %H.%M.%S.%毫秒”输出的格式化字符串是什么?精确到一位、两位、三位的毫秒
[解决办法]
%A 和 %a对应,一个是全称,一个是缩写。
%B 和 %b对应,也是一个全称,一个缩写。
毫秒用%Fn,其中n表示精确到几位,缺省为2,有效值为0~5。要精确到一位、两位、三位的毫秒,n就用1,2,3表示。如:
SELECT first 1 to_char(current,'%a,%b %d,%Y %H:%M:%S%F3') from systables;
输出:
Mon,May 11,2009 13:11:09.000