日付には形式がありません。
SELECT DUMP( SYSDATE ) FROM DUAL;
出力される可能性があります:
Typ=13 Len=8: 220,7,11,26,16,41,9,0
この形式は、コンピューターが日付を比較するのに非常に役立ちますが、人々にはあまり役立ちません。したがって、SQLクライアント(SQL / plus、SQL Developers、TOADなど)が日付を表示する場合、バイトは表示されませんが、文字列として表示されます。
これは、TO_CHAR()
を暗黙的に呼び出すことによって行われます。 (または日付を文字列化する他の内部メソッド)、デフォルトのフォーマットマスクを使用してこの変換を実行します。
SQL /PlusおよびSQLDeveloperは、ユーザーのセッションパラメータNLS_DATE_FORMAT
を使用します。 この変換を実行するには-
したがって、2番目のクエリは暗黙的に変換されてこれに近づく何かを実行します(ただし、ほぼ確実に、より効率的に):
SELECT TO_CHAR(
TO_DATE('01-01-2015','DD-MM-YYYY'),
( SELECT VALUE FROM NLS_SESSION_PARAMETERS WHERE PARAMETER = 'NLS_DATE_FORMAT' )
)
FROM DUAL