firebird - 如何在 SELECT 子句中显式设置常量值的类型
问题描述
我想在 Select 子句中使用双常量值。如果我在查询窗口中执行以下操作,它将成功执行。
SELECT (1171.80) as IN_STOCK,
. . . other columns
但是当我尝试在报表中运行相同的查询并在参数中传递常量时,如下所示,
SELECT ($P{IN_STOCK}) as IN_STOCK,
. . . other columns
它引发以下错误。
Caused by: org.firebirdsql.jdbc.FBSQLException: GDS Exception. 335544569. Dynamic SQL Error
SQL error code = -804
Data type unknown
显然 DB 未能检测到常量的数据类型。如何在查询中定义类型或添加强制转换为双精度。
我尝试添加演员,Select cast($P{IN_STOCK} as double) as IN_STOCK
但这不会成功。
解决方案
推荐阅读
- android - Dialog Fragment 和 RecycleView
- java - 在java中用字符串替换正则表达式
- javascript - JS密码构造
- arrays - 在 Ruby/RoR 中更快地处理嵌套对象
- woocommerce - Woocommerce 优惠券自动应用于购物车和结帐页面
- spring - 将 localDateTime 字符串正确解析为 Spring Boot @pathVariable
- user-interface - Flutter 只是用于 UI 开发吗?
- python - 对适配器模式的理解
- python - 类属性内的Python类属性
- reactjs - React-redux componentDidUpdate() 不起作用