Oracle 10gDATE
では、テーブルでtypeを使用すると問題が発生しました。自動的に時間のないDATE
フィールドストアが欲しいだけです。DATE
解決策はたくさんあります。andorを使用するのが好きですが、データTO_CHAR
を挿入TO_DATE
またはTRUNC
更新するために非常に多くの手順を使用していて、すべてを更新する時間がないことに直面しました。
どうすればこの問題を解決できますか?
最善の解決策は次のとおりです。
DATE列からすべての時間を削除します(update yourtable set yourdatecolumn = trunc(yourdatecolumn)
)
を使用して列にチェック制約を設定することにより、将来のすべての日付に時間部分が含まれないようにします。check (yourdatecolumn = trunc(yourdatecolumn))
すべてのINSERTステートメントとUPDATEステートメントを調整するか、運が良ければAPIを調整して、切り捨てられた日付のみを挿入します。
最も簡単な解決策は次のとおりです。
(オプションで)DATE列からすべての時間を削除します。
行の挿入前を作成するか、データベーストリガーを更新して設定します:new.yourdatecolumn := trunc(:new.yourdatecolumn);
私はこのように使用します
挿入:Insert into table (name_date) values(to_date(current_date,'dd/mm/yyyy'));
更新:update table set name_date=to_date(current_date,'dd/mm/yyyy') where id=1;
それで全部です...