2011-10-29 3 views
0

は、Oracle PL/SQL初心者です。基本的に、私は次のように作成したテーブルを持っている:SQL * Plusコマンドを介して実行するスクリプトを作成しようとOracle SQL * PLusを使用して書式設定された日付関数を挿入しますか?

CREATE TABLE MYTABLE (
    ID     VARCHAR2(3 CHAR) NOT NULL PRIMARY KEY, 
    LAST_UPDATE  DATE 
); 

アム:

insert into MYTABLE (
    id, 
    last_update) 
    values (
    sys_guid, 
    --- Date call - what is placed here? 
); 

私が挿入日付であることを保証するために何ができますこの形式(何の関数を呼び出すために)と(挿入時)正しい日付:

27 - 10月 - 11

は、SQL * Plusの内から実行できるように、このスクリプトを必要とします(目を読んでANSI SQL & SQL DeveloperとSQL * Plusの間で実行されるPL/SQLの間には、多くの非互換性があります。

お読みいただきありがとうございます!

答えて

4

日付フィールドには書式はありません。 to_char関数を使用してフォーマットを選択すると、フォーマットが適用されます。それでは、あなたがやりたいことは

insert into mytable 
    (id, last_update) 
values 
    (sys_guid, SYSDATE); 

であり、あなたが

select id, to_char(last_update, 'DD-Mon-YY') 
from mytable; 
+0

@OMGを使用して、そこから選択し、なぜあなたは、彼が望んでいるフォーマットを選択する方法についての私の命令を削除続けるのですか? –

+0

SYSDATEは角括弧を必要としないため、最初に書式を設定しました(編集したり保存したりしていませんでした)。あなたの編集内容は分かりませんが、INSERTを扱うときに日付形式を選択することは何の価値もありません.OPはTO_DATE以上のことを知る必要があります。 SYSDATEは... –

+2

彼はいません。彼は現在の日付を挿入したいので(sysdateまたはnow())、選択した日付を特定の形式にしたいので、to_charが必要です。私の答えを悪化させないでください。 –

関連する問題