在oracle中格式化日期
Formatting DATE in oracle
我在 table 中有一个日期字段,其中包含 dd-MMM-yy 格式的日期。
我想创建一个获取此日期的函数,检查它是否为空,然后将其更改为 yyyy/mm/dd 格式
但问题是 oracle 不接受 dd-MMM-yy 甲酸盐日期作为输入参数,并且
它说:请使用 yyyy-MM-dd 日期格式!!!
我怎样才能先将 dd-MMM-yy formate 更改为 yyyy-MM-dd 以便 oracle 接受它作为输入然后将其更改为 yyyy/mm/dd
: Please Use yyyy-MM-dd date format !!!
这与 Oracle 错误无关。
I have a date field in a table that contains date in dd-MMM-yy format .
不,你糊涂了。 Oracle 不会以您看到的格式存储日期。它在内部将其存储在 7 个字节 中,每个字节存储 datetime 值的不同组成部分。
Byte Description
---- -------------------------------------------------
1 Century value but before storing it add 100 to it
2 Year and 100 is added to it before storing
3 Month
4 Day of the month
5 Hours but add 1 before storing it
6 Minutes but add 1 before storing it
7 Seconds but add 1 before storing it
如果要显示,请使用 TO_CHAR 和适当的 FORMAT MODEL.
插入时,使用 TO_DATE 和正确的 FORMAT MODEL.
默认情况下,您看到的格式是您的特定于区域设置的 NLS 设置。
SQL> select parameter, value from v$nls_parameters where parameter='NLS_DATE_FORMAT';
PARAMETER VALUE
--------------- ----------------------------------------------------------------
NLS_DATE_FORMAT DD-MON-RR
SQL> select sysdate from dual;
SYSDATE
---------
03-FEB-15
SQL> select to_char(sysdate, 'mm/dd/yyyy hh24:mi:ss') from dual;
TO_CHAR(SYSDATE,'MM
-------------------
02/03/2015 17:59:42
SQL>
更新关于MMM格式。
通过 MMM 如果您指的是最多三个字符的月份名称,则使用 MON.
我在 table 中有一个日期字段,其中包含 dd-MMM-yy 格式的日期。
我想创建一个获取此日期的函数,检查它是否为空,然后将其更改为 yyyy/mm/dd 格式
但问题是 oracle 不接受 dd-MMM-yy 甲酸盐日期作为输入参数,并且 它说:请使用 yyyy-MM-dd 日期格式!!!
我怎样才能先将 dd-MMM-yy formate 更改为 yyyy-MM-dd 以便 oracle 接受它作为输入然后将其更改为 yyyy/mm/dd
: Please Use yyyy-MM-dd date format !!!
这与 Oracle 错误无关。
I have a date field in a table that contains date in dd-MMM-yy format .
不,你糊涂了。 Oracle 不会以您看到的格式存储日期。它在内部将其存储在 7 个字节 中,每个字节存储 datetime 值的不同组成部分。
Byte Description
---- -------------------------------------------------
1 Century value but before storing it add 100 to it
2 Year and 100 is added to it before storing
3 Month
4 Day of the month
5 Hours but add 1 before storing it
6 Minutes but add 1 before storing it
7 Seconds but add 1 before storing it
如果要显示,请使用 TO_CHAR 和适当的 FORMAT MODEL.
插入时,使用 TO_DATE 和正确的 FORMAT MODEL.
默认情况下,您看到的格式是您的特定于区域设置的 NLS 设置。
SQL> select parameter, value from v$nls_parameters where parameter='NLS_DATE_FORMAT';
PARAMETER VALUE
--------------- ----------------------------------------------------------------
NLS_DATE_FORMAT DD-MON-RR
SQL> select sysdate from dual;
SYSDATE
---------
03-FEB-15
SQL> select to_char(sysdate, 'mm/dd/yyyy hh24:mi:ss') from dual;
TO_CHAR(SYSDATE,'MM
-------------------
02/03/2015 17:59:42
SQL>
更新关于MMM格式。
通过 MMM 如果您指的是最多三个字符的月份名称,则使用 MON.