在 WRKQRY>定义结果字段在尝试连接两个字段(其中一个字段包含小数(时引发错误。
如何获取带有小数的值进行连接?
DSICF = .400
DSIUM = MG
Field Expression Column Heading
DOSE DSICF||DSIUM DOSE
不允许使用串联运算符的值。
在进行研究后,IBM 声明如果表达式中的任何字段是双字节字符集 (DBCS(-graphic,则表达式中的所有字段或常量都必须是 DBCS-graphic。
仍在研究。
DIGITS(( 似乎是 Query for i 支持数字到字符转换的唯一运算符。 我怀疑它不会给你你想要的...
CHAR((和 VARCHAR(( 适用于日期、时间和时间戳...
最好将不受支持且过时的 Query for i 产品迁移到基于 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