jhrq为number型,最好设置成字符型。你的错误是没有加上转换格式:例如
to_date(swd03.cgxjmx.jhrq,'yyyymmdd')='"&jhsj&"'"
to_date(swd03.cgxjmx.jhrq,'yyyymmdd')='"&jhsj&"'"
解决方案 »
- 查询语句生成序号问题
- oracle 10g ORA-01555
- 无法从非嵌套表项访问行
- sql server 和 oracle 是大多公司都在用的两种数据库么?
- oracle 捕获异常不中断游标循环
- 请问连表查询的sql语句怎么写!
- 这100分是给welyngj(平平淡淡)的,其它人不要抢 。谢谢他回答我的问题 。
- 怎样在Oracle中用sql语句提取类型为varchar2字段值的后三个字符(从右向左)? 怎样提取中间的若干个字符?
- 为什么我的personal 9i启动不了监听设备?
- 运行Oracle9i的机器配置问
- 在PL/SQL Developer中如何进行块选取?
- 请问oracle的存储过程和函数能返回一个数据集吗!
sql="select * from swd03.xtwzbm,swd03.cgxjmx where swd03.xtwzbm.wzbm=swd03.cgxjmx.wzbm and to_date(swd03.cgxjmx.jhrq,'yyyymmdd')='"&jhsj&"'"
Oracle Automation 错误 '800a01b8' SQL execution error, ORA-01843: 无效的月份 /baojia/xjs.asp,行203 怎么回事?
to_date('"&jhsj&"','yyyymmdd')
sql="select * from swd03.xtwzbm,swd03.cgxjmx where swd03.xtwzbm.wzbm=swd03.cgxjmx.wzbm and to_date(swd03.cgxjmx.jhrq,'yyyymmdd')=to_date('"&jhsj&"','yyyymmdd')"
Oracle Automation 错误 '800a01b8' SQL execution error, ORA-01843: 无效的月份
错误:Oracle Automation 错误 '800a01b8' SQL execution error, ORA-01722: 无效数字
首先出现无效的月份时:
SQL> select to_date('2004-11-04','yyyymmdd') from dual;
select to_date('2004-11-04','yyyymmdd') from dual
*
ERROR 位于第 1 行:
ORA-01843: 无效的月份这是因为你的swd03.cgxjmx.jhrq字段存储格式不是yyyymmdd格式的。
请查看数据后告知。另外,没用过ASP,不过在PL/SQL中拼接动态sql时,是这样处理的:
假设:jhsj 是输入变量,为字符型
sql='select * from swd03.xtwzbm,swd03.cgxjmx
where swd03.xtwzbm.wzbm=swd03.cgxjmx.wzbm
and to_date(swd03.cgxjmx.jhrq,''yyyymmdd'')
=to_date('||jhsj||',''yyyymmdd'')';
注释:因为pl/sql中字符串是用单引号表示,所以在字符串中还有
用到单引号的地方,需要将单引号写成两个单引号,估计ASP不用。
||符号表示字符串连接操作符,在ASP估计是“+”号。
希望对你有帮助。
jhsj=Request("n")+"-"+Request("y")+"-"+Request("r")'设置查询条件
sql="select * from swd03.xtwzbm,swd03.cgxjmx where swd03.xtwzbm.wzbm=swd03.cgxjmx.wzbm and to_date(swd03.cgxjmx.jhrq,'yyyymmdd')=to_date('"&jhsj&"','yyyymm')"仍然报错:
Oracle Automation 错误 '800a01b8' SQL execution error, ORA-01843: 无效的月份 /baojia/xjs.asp,行318
的格式应该是'yyyy-mm-dd',函数用to_char('"&jhsj"','yy-mm-dd')才对。
Request("ntname") & "%' and statsno like '%" & Request("statsno") & "%' and specno like '%" & Request("specno") &"%'"if request("mindate")<>"" and request("maxdate")<>"" then sqlstr=sqlstr&_
"and (creatdate between to_date('"& request("mindate") & "','yyyy-mm-dd') and (to_date('" & request("maxdate") & "','yyyy-mm-dd')+1))"