プロが教える店舗&オフィスのセキュリティ対策術

オラクルのDATE型について教えて下さい。

以前の質問にも同じような質問があったのですが、内容を少し違うようなので
質問させていただきます。

オラクルの8.1.6のデータベースにおいて "A" テーブルの中の "B" 項目をdate型にしました.

AテーブルのB項目のデータが現在は "YY/MM/DD"形式で格納されていますが、それを
"YYYY/MM/DD"形式で格納したいのですが、どのようにすれば良いでしょうか?

やはり、テーブルを再度作りなおさないと行けないのでしょうか?

ちなみに開発環境はOracle8.1.6 オブジェクトブラウザ-を使用しています。
宜しくお願い致します。

A 回答 (2件)

Oracle の DATE型 は "YY/MM/DD"形式で格納されているわけではありません。


Oracle独自の形式(非公開)で 7bytes の情報として格納されています。
その 7bytes の中に「年月日時分秒」の情報が入っています。

なので、データを取得する際に、to_char 関数を用いて
好みの形式にして取り出して利用する、というのが DATE型の使い方になります。

select 文で、to_char 関数を使用せずに取得した場合の形式は
NLS初期化パラメータ NLS_TERRITORY(が定義する NLS_DATE_FORMAT)で
指定されます。
    • good
    • 0

date型のフォーマットというのは、取り出すときや格納するときに使うものであって、格納の型はあくまでdate型です。



前回もdate型であれば、結論はテーブルは作り直さなくていいです。
同じB項目を取り出す際に"YY-MM-DD"で取り出そうが、"YYYY/MM/DD HH:MI:SS"で取り出そうが同じです。

このフォーマットはdate型をどう編集して取り出すかの指定だけです。

参考URL:http://www.sqlpowerpage.co.jp/Sql/DataAttribute. …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!