首页 > 解决方案 > 如何在 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但这不会成功。

标签: firebird

解决方案


推荐阅读