Oracle中没有时间的日期类型?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (38)

在Oracle 10g中,我DATE在表中使用类型时遇到了问题。

有太多的解决方案,我知道它使用TO_CHARTO_DATE或,TRUNC但我面临着我使用这么多的程序来插入或更新数据,没有时间来更新所有的数据。

我怎么能解决这个问题?

提问于
用户回答回答于

最好的解决方案是:

  • 从DATE列中删除所有时间(update yourtable set yourdatecolumn = trunc(yourdatecolumn)
  • 通过使用在列上设置检查约束来确保所有将来的日期都不包含时间部分 check (yourdatecolumn = trunc(yourdatecolumn))
  • 调整所有的INSERT和UPDATE语句或 - 如果你很幸运 - 调整你的API,只插入TRUNCed日期。

最简单的解决方案是:

  • (可选)从DATE列中删除所有时间。
  • 创建一个before row插入或更新设置的数据库触发器 :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;

就这样...

扫码关注云+社区