-
-
拟好 初学数据Lv2
发表于2022-6-21 13:52
悬赏5
已解决
楼主
数据源选择的是自定义主题里的sql主题,sql测试能通过,但是计算报表时报错,错误信息是URLDecoder: Illegal hex characters in escape (%) pattern - For input string: "pp"
我的查询sql是
SELECT DISTINCT(a.course_id), IFNULL(pptNum, 0) pptNum
FROM ly_ykt_course_resource_v2 a
LEFT JOIN
# ppt
(SELECT course_id, COUNT(*) AS pptNum FROM ly_ykt_course_resource_v2
WHERE resource_name LIKE "%ppt%" #报错信息在这里
GROUP BY course_id) d
ON a.course_id = d.course_id
报错原因应该是%的问题,查询时sql通过url传输,因为有特殊符号导致报错,这条sql在测试里是正常的。
请问有办法解决吗?
(因为后续需要调用时间参数进行判断,所以只能使用自定义主题里的sql主题)
我的查询sql是
SELECT DISTINCT(a.course_id), IFNULL(pptNum, 0) pptNum
FROM ly_ykt_course_resource_v2 a
LEFT JOIN
# ppt
(SELECT course_id, COUNT(*) AS pptNum FROM ly_ykt_course_resource_v2
WHERE resource_name LIKE "%ppt%" #报错信息在这里
GROUP BY course_id) d
ON a.course_id = d.course_id
报错原因应该是%的问题,查询时sql通过url传输,因为有特殊符号导致报错,这条sql在测试里是正常的。
请问有办法解决吗?
(因为后续需要调用时间参数进行判断,所以只能使用自定义主题里的sql主题)
最佳答案
拟好 发表于 2022-6-21 14:32
我认为可能是url传输的问题,我把%改成%25后不报错了,但是sql查询就查不出结果了 ...
确实可能是因为%是转义字符,然后发生了转码错误,这个问题您可以联系项目组提BUG让研发出补丁
您也可以试下用参数指定的方式来变通
7个回答
拟好 发表于 2022-6-21 14:32
我认为可能是url传输的问题,我把%改成%25后不报错了,但是sql查询就查不出结果了 ...
确实可能是因为%是转义字符,然后发生了转码错误,这个问题您可以联系项目组提BUG让研发出补丁
您也可以试下用参数指定的方式来变通