oracle 日期转化
请大侠们帮帮忙,把这个错误找出来一下 弄了个把小时了
后台oracle sql语句
sql.append("insert into tbl_wzgl_wz(wzid,wzname,style,memo,adate,userid,gdeptid,deviceclassid)");
sql.append(" values(seq_wzgl_wzid.nextval,'"+wzname+"','"+style+"','"+memo+"','"+to_date(adate,'yyyy-mm-dd')+"',"+userid+","+gdeptid+","+deviceclassid+")");
报 to_date(adate,'yyyy-mm-dd')中的 yyyy-mm-dd 无效格式 跪求指导····
------解决方案--------------------sql.append(" values(seq_wzgl_wzid.nextval,'"+wzname+"','"+style+"','"+memo+"',to_date(adate,'yyyy-MM-dd'),"+userid+","+gdeptid+","+deviceclassid+")");
试试
------解决方案--------------------'"+to_date(adate,'yyyy-mm-dd')+"'
这个字段不需要 ''吧
------解决方案--------------------你改成to_char(adate,'yyyy-mm-dd')试试
------解决方案--------------------adate是什么格式的 如果是字符串格式的可以 如果是日期格式的用 to_char
------解决方案--------------------char转date用 to_date ,date转 char 用to_char
------解决方案--------------------测试一下 to_date('','yyyyMMdd');
不知道为什么你的不行
可以to_date(to_char(,'yyyyMMdd'),'yyyyMMdd');
自己多做几个测试 就弄明白了
------解决方案--------------------'"+to_date(adate,'yyyy-mm-dd')+"'
这样转了之后还是字符串。
改成这样"+to_date(adate,'yyyy-MM-dd')+"
------解决方案--------------------+"','"+to_date(adate,'yyyy-mm-dd')+"',
这个有问题啊
改为 +"',"+to_date(adate,'yyyy-mm-dd')+",
to_date 转成时间型的 不能加‘’
------解决方案--------------------'yyyy-MM-dd' 中要用MM 才是月, mm 好像是秒
------解决方案--------------------YYYY-MM-DD
------解决方案--------------------to_date(to_char(sysdate,'YYYYMMDD'),'YYYY-MM-DD')
------解决方案--------------------yyyy-MM-dd
------解决方案--------------------是这样的,sql语句不会将使用加拼接的字符串转义成具体的方法,所以to_data()无法识别,建议使用?传参,并且可以防止sql注入...