我用的sql为:
CREATE OR REPLACE FORCE VIEW "omp_eachargelog_view" ("streamnumber",
"rec_type", "timestamp", "ecid", "serviceid", "productid", "servicetype",
"orderid", "chargemode", "resourceid", "begintime", "endtime",
"sessionduration", "amount", "involumn", "outvolumn", "reserved") AS
SELECT X0.streamnumber,
'20',
date_format(now(), '%y%m%d%H%i%s') ,
X0.custcode,
'',
X0.productid ,
'',
X0.bossorderid ,
'01',
'',
'',
'',
'',
X0.eapfeequantity ,
'',
'',
''
FROM OMP_DEFAULT_CHARGELOG X0
WHERE X0.EAPCHARGETYPE IS NOT NULL
ORDER BY X0.STREAMNUMBER;
会报错Warning: View created with compilation errors.
我把 date_format(now(), '%y%m%d%H%i%s') ,这一行改成'20141015113623'就可以成功创建,菜鸟求指导!
------解决思路----------------------
date_format(now(), '%y%m%d%H%i%s')
改为sysdate试下
------解决思路----------------------
date_format(now(), '%y%m%d%H%i%s') ,
好像在 mysql 有这样的写法。
oracle 中参考 1# 中用的 sysdate
------解决思路----------------------
date_format(now(), '%y%m%d%H%i%s')
修改为:
to_char(sysdate,'yyyymmddhh24miss') as xh
------解决思路----------------------
date_format不是Oracle中的写法,用to_char(sysdate,'yyyymmddhh24miss') ,
格式化日期的话可以用to_date函数
------解决思路----------------------
TO_DATE和to_char函数都能实现,看你那个时间字段的类型决定。
to_char可以好好研究下,这个在金额的进度上控制是非常好的