to_char与to_date转换问题
izj 2012-04-24 12:23:01 今天做oracle数据库更新的时候,Last_date 数据库定义类型为Date.如果传入的日期参数为null,则Last_date = oracle系统时间。格式要求 年/月/日 时:分:秒.实现过程中出现问题了。
尝试1:
to_char(sysdate,'yyyy/mm/dd hh24:mi:ss') -- 值为 2012/4/23 19:20:34
to_date(to_char(sysdate,'yyyy/mm/dd hh24:mi:ss'),'yyyy/mm/dd hh24:mi:ss') --输出值为 2012-4-23
问题1: to_date之后日期格式为何不是'yyyy/mm/dd hh24:mi:ss',时分秒去哪儿了?
问题2: 输出的2012-4-23?为何不是我指定是 'yyyy/mm/dd' 格式
尝试2:
完整的sql是这样的
insert into
table(
a,
b,
c
)values (
&a,
&b,
nvl(&c,sysdate) -- 此处nvl会截掉时分秒。在pl/sql中运行通过有时分秒,但在程序中和框架搭配一起用,时分秒被 截掉了,为什么。
)
尝试3:
decode(&c,null,sysdate,&c)
经测试,通过。
在此请教给位前辈了。。。