問題:
結果セットで文字列を日付に変換したい。
例:
私たちのデータベースには、accounts_creation
、company_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のドキュメントを参照してください。