找回密码
 立即注册

QQ登录

只需一步,快速开始

雪忆

金牌服务用户

28

主题

83

帖子

393

积分

金牌服务用户

积分
393
QQ
雪忆
金牌服务用户   /  发表于:2022-7-18 14:09  /   查看:2516  /  回复:7
在报表数据集中,数据源是oracle数据库 编辑查询语句时候
to_DATE(SUBSTR(B.dbilldate,1,10),'YYYY-MM-DD') =@日期  

@日期 是数据集中的参数项   日期格式
可以在语句中保存,但是执行过程中提示:
ORA-01861: literal does not match format string

7 个回复

倒序浏览
Bella.YuanWyn认证
超级版主   /  发表于:2022-7-18 14:24:00
沙发
您好,导致这个错误的原因是数据问题造成的,帮您找了一个链接,您看看:
https://blog.csdn.net/Gaomb_1990/article/details/80550813
回复 使用道具 举报
雪忆
金牌服务用户   /  发表于:2022-7-18 15:05:37
板凳
本帖最后由 雪忆 于 2022-7-18 15:09 编辑
Bella.Yuan 发表于 2022-7-18 14:24
您好,导致这个错误的原因是数据问题造成的,帮您找了一个链接,您看看:
https://blog.csdn.net/Gaomb_19 ...

不能使用TO_CHAR(SUBSTR(B.dbilldate,1,10),'YYYY-MM-DD')或者TO_CHAR(B.dbilldate,'YYYY-MM-DD')
在语句保存时候提示
执行原生查询时发生错误。[Oracle]: ORA-01722: invalid numberB.dbilldate该字段展示出来就是2022-04-07这样的格式
回复 使用道具 举报
Bella.YuanWyn认证
超级版主   /  发表于:2022-7-18 15:17:55
地板
您好,方便的话截图看看您写的sql语句
回复 使用道具 举报
雪忆
金牌服务用户   /  发表于:2022-7-18 15:52:08
5#
Bella.Yuan 发表于 2022-7-18 15:17
您好,方便的话截图看看您写的sql语句

select
  SUBSTR(B.dbilldate,1,10)   AS 单据日期 --B.dbilldate NC65 开票日期 字段类型char(19)引用模型UFDate
FROM SO_SALEINVOICE_B A
LEFT JOIN SO_SALEINVOICE B
ON A.csaleid=B.csaleid
WHERE  B.capproveid  IS NOT NULL
  AND B.dbilldate >=@日期
  AND B.dbilldate is not null
GROUP BY   
SUBSTR(B.dbilldate,1,10)  
语句其他部分都好着,就是这个参数查询不行
回复 使用道具 举报
James.Lv讲师达人认证 悬赏达人认证 活字格认证 Wyn认证
超级版主   /  发表于:2022-7-18 18:23:40
6#
雪忆 发表于 2022-7-18 15:52
select
  SUBSTR(B.dbilldate,1,10)   AS 单据日期 --B.dbilldate NC65 开票日期 字段类型char(19)引 ...

您好,这个您需要检查一下这个字段 B.dbilldate  在数据库是什么字段类型,然后 在检查一下报表参数  @日期   这个参数使用的是什么类型,看看是否一致;
如果一致的话,可以打印一下这个@日期,看看是否是日期格式和数据库的字段格式不一致如果还不行的话,留个远程方式,我们远程看看

回复 使用道具 举报
雪忆
金牌服务用户   /  发表于:2022-7-20 09:51:34
7#
James.Lv 发表于 2022-7-18 18:23
您好,这个您需要检查一下这个字段 B.dbilldate  在数据库是什么字段类型,然后 在检查一下报表参数  @日 ...

B.dbilldate  在数据库 是char(19),格式 2022-07-01
参数@日期  是日期    格式 2022-07-01
远程是向日葵 156 708 566
qq 113884817
回复 使用道具 举报
James.Lv讲师达人认证 悬赏达人认证 活字格认证 Wyn认证
超级版主   /  发表于:2022-7-20 11:27:51
8#
雪忆 发表于 2022-7-20 09:51
B.dbilldate  在数据库 是char(19),格式 2022-07-01
参数@日期  是日期    格式 2022-07-01
远程是向 ...

远程处理了,可以在数据集参数设置成字符串,来跟数据库的字段进行匹配过滤,在报表设计中,参数可以设置成日期类型,然后跟数据集绑定时,加个表达式进行类型转换就可以实现
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部