-2

テーブルにDataTypeOracle10gの列が含まれるデータベースを使用しています。Date次のクエリを使用してレコードを取得しています。

 select to_char(START_TIME, 'YYMMDD HH24:MI:SS') from table;

したがって、上記のクエリから、結果はタイプになりますVARCHAR。メソッドを試しto_Date()ましたが、表示のみになりましたDATE。形式に変換できVARCHARますDATETIMEか? 結果は型でなければなりませんDATETIME。この問題を解決する方法を教えてください。

4

3 に答える 3

5

Oracleには日付と時刻の両方が含まれているため、 (Oracle には のデータ型はありません)dateと見なすことができます。選択したときの表示は、完全にクライアント次第です。デフォルトの表示設定は、パラメーターによって制御されます。pl/sqlブロックで日付を使用しているだけの場合は、それをデータ型に割り当て、その変数を選択せず​​に選択すると、問題なく機能し、テーブルに存在する時間コンポーネントが含まれます。datetimedatetimeNLS_DATE_FORMATdateto_char

たとえば、次を使用して表示を制御しますnls_date_format

SQL> select a from datetest;
A
---------
19-FEB-13

SQL> alter session set nls_date_format='YYMMDD HH24:MI:SS';

Session altered.

SQL> select a from datetest;
A
---------------
130219 07:59:38

繰り返しますが、これは表示専用です。

于 2013-02-19T08:05:01.257 に答える
1

OracleのDate型フィールドには日付/時刻の値が含まれているため、これをに変換してDatetimeも意味がありません(すでに日時です)

Oracleの日付タイプについて詳しくは、こちらをご覧ください

于 2013-02-19T06:41:50.617 に答える
0

ええ、日付データ型はあなたのニーズを満たしますが、正確な時間を取得するには毎回いくつかのフープをジャンプする必要があります. 必ずタイムスタンプ データ型を使用してください。

于 2013-02-19T07:38:23.690 に答える