当前位置: 首页 > 图灵资讯 > 技术篇> Oralce中日期格式

Oralce中日期格式

来源:图灵教育
时间:2023-07-02 17:12:16

Oralceto_date()函数用于将字符串转换为日期对象,具体格式为:

to_date(string, [ format_mask ] , [ nls_language ] )

string1

要转换的字符串.

format_mask 可选项,日期转换格式.

nls_language 可选项. 指定用于转换字符串的nls language.

其中

format_mask主要有以下格式:

Format Code

Explanation

YEAR

Year, spelled out

YYYY

4-digit year

MM

Month (01-12; JAN = 01).

MON

Abbreviated name of month.

MONTH

Name of month, padded with blanks to length of 9 characters.

D

Day of week (1-7).

DAY

Name of day.

DD

Day of month (1-31).

DDD

Day of year (1-366).

DY

Abbreviated name of day.

HH

Hour of day (1-12).

HH12

Hour of day (1-12).

HH24

Hour of day (0-23).

MI

Minute (0-59).

SS

Second (0-59).

SSSSS

Seconds past midnight (0-86399).

[问题]

ORA-01810: format code appears twice

日期格式可能像Java一样指定,例如:

to_char('2006-06-01 18:00:00' 'yyyy-mm-dd hh:MM:ssOracle中的日期格式不区分大小写,所以 mm 两次出现。

正确的写作方法是:

to_char('2006-06-01 18:00:00' 'yyyy-mm-dd hh:mi:ss')

ORA-01722: invalid number

可能是指定小时为hh,hh的值范围是 1-12,所以如果指定小时为 0 这种异常会发生在点上,例如:

to_char('2006-06-01 00:00:00' 'yyyy-mm-dd hh:MM:ss正确的写法是:

to_char('2006-06-01 00:00:00' 'yyyy-mm-dd hh24:MM:ss')

==============

YY表示两位年数

日期输出带AM/AM/日期输出带PM,

--输入当前的系统日期,格式为 yyyy-mon-dd HH24:MI:SS AM(PM) --增加AM PM --AM在这种格式下 PM没有区别 ,表达的含义是一致的 select to_char(sysdate,'yyyy-mon-dd HH24:MI:SS AM') from dual select to_char(sysdate,'yyyy-mon-dd HH24:MI:SS PM') from dual select to_char(sysdate,'yyyy-mon-dd HH24:MI:SS PM') from dual ===

毫秒表示:

select to_timestamp('16-NOV-11 06.09.57.924000000 PM','DD-MON-YY hh12.mi.ss.ffAM' ) from dual

select to_char(systimestamp, 'DD-MON-YY hh12.mi.ssxff') from dual

select to_char(systimestamp,'yyyy-mm-dd hh24:mi:ssxff') time1, to_char(current_timestamp) time2 from dual

timestamp必须使用