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

Oracleで文字列から日付を取得する方法

    問題:

    結果セットで文字列を日付に変換したい。

    例:

    私たちのデータベースには、accounts_creationcompany_idという名前のフィールドがあります データ型NUMBERとcompany_nameという名前の2つのNVARCHAR2フィールドの およびregistration_date 以下に示すように。

    company_id company_name register_date
    1 十種競技 1978年1月5日
    2 ヴェステル 1991年9月21日
    3 ホワイトチャペル 2017年10月18日
    4 シルバーカップ 2021年12月4日
    5 ジョニーブロス 1984年8月28日

    文字列列registration_dateを変換します 日付列に。

    解決策:

    TO_DATE()を使用します 働き。クエリは次のとおりです:

    SELECT company_id,
       company_name,
       TO_DATE(registration_date,'DD Mon YEAR') AS registration_date
    FROM accounts_creation;
    

    クエリの結果は次のとおりです。

    company_id company_name register_date
    1 十種競技 05-JAN-78
    2 ヴェステル 21-SEP-91
    3 ホワイトチャペル 18-OCT-17
    4 シルバーカップ 4-DEC-21
    5 ジョニーブロス 84年8月28日

    ディスカッション:

    TO_DATE(string, format) Oracleの関数は、文字列値を日付に変換します。この関数は、変換する文字列と日付形式の2つの引数を取ります。フォーマット仕様では、DD 月の日(1-31)を示し、MONは月の省略名を示し、YEAR 4桁の年を意味します。使用可能なフォーマットの詳細については、OracleSQLのドキュメントを参照してください。


    1. MySQLエラーを取り除く方法「プリペアドステートメントは再準備する必要があります」

    2. Oracleが表示する理由??? åäöのような特殊文字の場合

    3. 日付と時刻のデータのバケット化

    4. MySQLINクエリで順序を維持する