sql >> データベース >  >> RDS >> Oracle

ORACLEのTO_DATE関数

    日付には形式がありません。7バイトまたは8バイト で表されます。 。

    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
    


    1. PHP / MySQLでjQuerySlickGridを使用する方法(サーバーデータをロードして変更を保存する)

    2. 警告:Mac OS High Sierraでbrewを使用してmysqlをインストールしようとすると、インストール後の手順が正常に完了しませんでした

    3. Oracleが実行権限を付与

    4. SQLServerでビューを作成する方法