AS400 WRKQRY 连接十进制
AS400 WRKQRY Concatenate Decimal
在 WRKQRY > 定义结果字段中尝试连接两个字段(其中一个字段包含小数)时会引发错误。
如何获取要连接的带小数的值?
DSICF = .400
DSIUM = 毫克
Field Expression Column Heading
DOSE DSICF||DSIUM DOSE
连接运算符不允许值。
经过研究,IBM 声明如果表达式中的任何字段是双字节字符集 (DBCS)-图形,则表达式中的所有字段或常量都必须是 DBCS-图形。
仍在研究中。
DIGITS() 似乎是唯一支持数字到字符转换的运算符 Query for i。我怀疑它不会给你你想要的...
CHAR() 和 VARCHAR() 适用于日期、时间和时间戳...
将不受支持且过时的 Query for i product 移至基于 SQL 的解决方案将为您提供最好的服务。
IBM 希望您使用 WebQuery...
但是查询管理器 (STRQM) 是一个 5250 工具,它甚至可以读取和执行您的 Query/400 查询。在提示模式下,它类似于 Query/400,但具有 SQL 的所有功能。
带小数的数字字段必须先转换为字符串。但是,您在此转换中丢失了小数点。为了将小数加回去,您必须解析字符串并手动连接小数。
例子
DCIFC = 0.400
DCIUM = MG
Field Expression
CNVRTUNIT digits(DCIFC) //Converts .400 to 0000000400
NEWUNIT substr(CNVRTUNIT,7,1)||'.'||substr(CNVRTUNIT,8,2)||'/'||DCIUM
-----
NEWUNIT now equals 0.400/MG
在 WRKQRY > 定义结果字段中尝试连接两个字段(其中一个字段包含小数)时会引发错误。
如何获取要连接的带小数的值?
DSICF = .400
DSIUM = 毫克
Field Expression Column Heading
DOSE DSICF||DSIUM DOSE
连接运算符不允许值。
经过研究,IBM 声明如果表达式中的任何字段是双字节字符集 (DBCS)-图形,则表达式中的所有字段或常量都必须是 DBCS-图形。
仍在研究中。
DIGITS() 似乎是唯一支持数字到字符转换的运算符 Query for i。我怀疑它不会给你你想要的...
CHAR() 和 VARCHAR() 适用于日期、时间和时间戳...
将不受支持且过时的 Query for i product 移至基于 SQL 的解决方案将为您提供最好的服务。
IBM 希望您使用 WebQuery...
但是查询管理器 (STRQM) 是一个 5250 工具,它甚至可以读取和执行您的 Query/400 查询。在提示模式下,它类似于 Query/400,但具有 SQL 的所有功能。
带小数的数字字段必须先转换为字符串。但是,您在此转换中丢失了小数点。为了将小数加回去,您必须解析字符串并手动连接小数。
例子
DCIFC = 0.400
DCIUM = MG
Field Expression
CNVRTUNIT digits(DCIFC) //Converts .400 to 0000000400
NEWUNIT substr(CNVRTUNIT,7,1)||'.'||substr(CNVRTUNIT,8,2)||'/'||DCIUM
-----
NEWUNIT now equals 0.400/MG