
文字型を日付型に変えるTO_DATE関数ってありますよね。
もともとのデータは数値型(NUMBER型)だったとしたら、
その数値型を日付型に変換するためには、
例)TO_DATE(TO_CHAR(20001201),'YYYY/MM/DD'))で実行すれば、
結果は、「2000/12/01」になりますよね?
しかし、ここで問題なのがもともとのデータの数値型の初期値が0で設定されていて、なおかつその行も結果として出したい場合どうしたらいいのかわかりません。
例が解りにくくてすいません!
何か解決法がありましたらぜひ教えて下さい!
No.2ベストアンサー
- 回答日時:
こんにちわ。
> もとのデータの数値型の初期値が0で設定されていて
仮に初期値を西暦1年1月1日で表示するとして、
Select to_date(decode(to_char(項目名, 0, '00010101', 項目名), 'FM99999999'), 'YYYYMMDD')
from テーブル名
でどうでしょう?
※ 数値型を日付型に変換するためには・・・
TO_DATE で変換できるのは、CHAR, VARCHAR2, NCHAR, NVARCHAR2
データ型です。
No.1
- 回答日時:
日付として、0年0月0日は存在しないので、'00000000'をそのままの形で日付として管理できません。
null値で表現するなり、西暦1年1月1日 0時0分0秒の1秒前で表現するなりの置き換えを考えるしかありませんね。
日付型の概念のない処理言語などからのシステム移行で良くある話ですが、
日付として'00000000'は間違っていると考えるか、従来通りにNUMBER型や文字列型で考えるかの2択です。
(日付の演算が無ければ、NUMBER型や文字列型でも問題はないと思いますけど)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
DATE型の省略値について
-
SQLで部分的にGROUP BYしたいとき
-
oracle 文字列 01:45 を時間に...
-
Accessの数値から時間に変換す...
-
23時59分59秒までのデータを抽...
-
2016.3.2を日付として認識させたい
-
日付書式に変換でこまっています!
-
oracle 最新日付との比較
-
DB2のSQL(日付)について
-
Statement ignored というエラー
-
Accessのマクロでモジュールを...
-
Access VBAで行ラベルが定義さ...
-
Accessで年月日のデータ...
-
sqlplusでヘッダーが付かない
-
SQL*Loaderでのsysdate使用
-
キャッシュを使わずにSELECTを...
-
日付型カラムへのデータINSERT
-
ACCESS、時間ごとの集計の仕方は?
-
ストアド実行時のエラー「参照...
-
callで順に実行されるプロシー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
重複するIDのデータを1行にま...
-
Accessの数値から時間に変換す...
-
SQLで部分的にGROUP BYしたいとき
-
wordの差し込み印刷での日付表示
-
SQLサーバで和暦から西暦に変換...
-
14桁の日付(YYYYMMDDHHMMSS)を...
-
日付型なら変数の先頭になん...
-
テーブルの主キーをdate型...
-
SQL ブレーク処理について
-
今日の日付が入った行のデータ...
-
23時59分59秒までのデータを抽...
-
DB2のSQL(日付)について
-
ExcelのSUMPRODUCTで日付の範囲...
-
日付書式に変換でこまっています!
-
4バイトの日付データを、16進数...
-
oracle 文字列 01:45 を時間に...
-
VARCHAR2とNUMBERで事足りる?
-
最新日付のデータを取得したい
-
日付の切り出し方法について
-
OSのシステム日付を変更して...
おすすめ情報