2011-09-24 15 views
28

テーブルに行を挿入できません。ここでは、insertステートメントとテーブルの作成を示します。これはユニ・アサイメントの一部なので、シンプルさ、何が間違っていますか?私はOracle SQL開発者バージョン3.0.04を使用しています。Oracleに日付と時刻を挿入する方法は?

私が抱えている問題は、dd/mon/yyを挿入するだけで時間は挿入しないということです。どうすればそれを挿入することもできますか?

INSERT INTO WORKON (STAFFNO,CAMPAIGNTITLE,DATETIME,HOURS) 
VALUES ('102','Machanic Summer Savings',TO_DATE('22/April/2011 8:30:00AM','DD/MON/YY HH:MI:SSAM'),'3') 
; 

CREATE TABLE WorkOn 
(
    StaffNo  NCHAR(4), 
    CampaignTitle VARCHAR(50), 
    DateTime  DATE, 
    Hours   VARCHAR(2) 
) 
; 

ありがとうございました。

編集:これは意味をなさないですが、私は時間が働いているかどうかをテストするフィールドにちょうど時間を入力し、それは日付を出力しますか?これは本当に奇妙である私は、このデータを操作する問題になります実現が、これは何の意味を作っていない、日付フィールドを使用するだけで時間を入力しないことがあります...

+0

あなたのテーブル定義も共有する - DESC WORKON' –

答えて

29

to_date関数を使用して時間を指定することで、すべてを正しく実行しています。時間はデータベースにあります。問題は、データベースからDATEデータ型の列を選択すると、デフォルトの書式マスクに時間が表示されないことです。あなたは、時間成分を含む

alter session set nls_date_format = 'dd/MON/yyyy hh24:mi:ss'

または類似した何かを発行する場合は、時間が正常にデータベースにそれを作ったことがわかります。

よろしくお願いします。
Rob。

+0

omgありがとうございます。最後の1つの問題です。すべての日付形式の列の形式を設定し、結果として日付のみが表示される列を表示します。それは特定のテーブルのためにそれを指定することは可能ですか? – Deep

+1

の場合、select文で日付書式マスクを指定する必要があります。 「to_char(datetime、 'dd-mm-yyyy hh24:mi:ss')datetimeをworkonから選択する」のようなものです。 –

+0

この 'alter session'コマンドは神託です(私は完全なOracle newbです)。おかげでロブ。 –

4

はこれを試してみてください:

.. (to_date('2011/04/22 08:30:00', 'yyyy/mm/dd hh24:mi:ss'));

+0

残念なことに、同じものは日付だけを表示します。 – Deep

+0

申し訳ありませんが、もう一度試してみてください。 – jschorr

+0

まだ動作しません、それは日付部分を挿入し、時間を無視します。私がちょうど時間を入力すると、それは日付に変換されます... MySQLは私にオラクルよりも理にかなっています... – Deep

29

あなたは

insert into table_name 
(date_field) 
values 
(TO_DATE('2003/05/03 21:02:44', 'yyyy/mm/dd hh24:mi:ss')); 

はそれが役に立てば幸い使用することができます。

関連する問題