DbEditでOracleのDATE型の時分秒部分を表示
こんにちは、kazzyaです。
連荘です。
OracleのDATE型は年月日だけでなくて、時分秒のデータも保持していて、
以前比較した時にハマッタ、というエントリを、
いまや行方不明のblogに書いた気がしますが、
(ひょっとしてこのblogの過去ログにあったりして…)
それと関連するメモ。
アプリケーションのとあるログがOracleのテーブルに吐かれるようになっているのですが、
その「発生日時」に相当するカラムの定義が「DATE」型なんです。
で、内容を見る時にDbEditで見てるんですが、
その場合、年月日しか表示されません。
「いつ起こったか」を年月日単位で知ってもあまりうれしい機会はないので(笑)、
時分秒を見れないかなぁと思って色々いじっていたら、
何となく見れました。
※画像は加工しています。
Tablesタブの該当するテーブルを選択して右クリックし、
プロパティを表示させて、
DDL TypeがDATEになっている変更したいカラムを選択し、
JDBC Typeをtimestampに変更しました。
ひょっとしてこれ実際のテーブルの定義も変わってしまうんじゃ??
なんて思ってテスト環境のテーブルで変更してOKを押し、
時分秒が表示されるのを確認してから、
SQL*Plusでログインしてdescし、
変更されていないのは確認しました。
でも、本番環境のテーブルではあまりやりたくないな…
| 固定リンク


コメント
とても助かりました!おかげさまで日付の変更がDBEDITで簡単にできて助かりました。
変更されるのはJDBCタイプの割り当てだけなので、(VARCHAR型→)テーブルに影響はないと思いますです。
英語苦手なので自信がないのですがDBEDITヘルプによるとJDBCドライバによってDDLタイプとJDBCタイプの割り当てが違ったり不適切だったりするので、修正が必要らしいです。
以下DBEDITヘルプです。
-----------------
You can assign a new JDBC type to the column. The only reason to do this is a difference between the JDBC type and the DDL type, which is the type that was probably used to create the table. Some JDBC drivers report the JDBC type OTHER while there is an appropriate type they could report, e.g. TIMESTAMP. The Table Editor cannot automatically detect the right JDBC type without assistance. This property page lets you 'override' the data type and provide the Table Editor with that assistance.
投稿: 困ってたひと | 2007年5月30日 (水) 19時20分