由于设计失误,日期型数据设为date,在进入数据时,只要是date型,它显示的值都为'YYYY-MM-DD HH:MM:SS'格式,我不想要时间,只想要日期,请问如何把所有表中带DATE型的字段在insert 或 update 时格式化为'yyyy-mm-dd',希望用一系统触发器实现,
解决方案 »
- oracle 数据库连接问题
- ORACLE 10g RAC 下已有1个实例,再创建一个实例用于测试,如何做?
- 关于oracle 10g的问题
- 函数,存储过程
- 请教一个存储过程的优化,一运行这个数据库就占用98%,我想是instr占用内存太多的原因,不知道怎么优化
- 如何把这个SQL语句转化为ORACLE的合法语句--解决了就给分
- 怎样获取ORACLE数据库的当前状态,比如在县用户,是否死锁,等等
- 请问谁有oracle xml db相关的中文资料,我到google上搜了一下,但数量有限。
- 我的函数在调试时出现了堆栈异常,该怎样搞?100分敬上
- 如何查看那些用户锁定了那些表和行,以及该用户正在执行的SQL语句?
- Oracle 行级触发器的一个问题,恳请各位帮忙
- 谁能帮我改一下这个函数
楼主或者可以用字符串
to_char(sysdate,'yyyy-mm-dd')
但只能对于会话进行修改
不能alter system
------------------------------------
日期性数据当然使用DATE类型,天经地义的事情怎么会是失误假定表A中MYDATE是日期类型的,你只想要日期部分,那也很简单:
1、更新现有纪录:
UPDATE A SET MYDATE=TRUNC(MYDATE);
2、添加一个触发器,对插入的日期去掉时间部分
CREATE TRIGGER MYTRIGGER
BEFORE INSERT ON A
FOR EACH ROW
BEGIN
:NEW.MYDATE := TRUNC(:NEW.MYDATE);
END;
/