在WRKQRY内>定义结果字段在尝试合并两个字段(其中一个字段包含小数)时抛出错误。
如何获取带小数点的值进行连接?
DSICF = .400
DSIUM = MG
Field Expression Column Heading
DOSE DSICF||DSIUM DOSE
串联运算符不允许使用值。
进行研究后,IBM声明表达式中的任何字段是否为双字节字符集(DBCS)图形,表达式中的所有字段或常量都必须为DBCS图形。
仍在研究中。
答案 0 :(得分:1)
DIGITS()似乎是Query for i支持数字到字符转换的唯一运算符。我怀疑它不会给您想要的东西...
CHAR()和VARCHAR()用于日期,时间和时间戳记...
将不受支持且过时的Query for i产品移至基于SQL的解决方案,将为您提供最佳服务。
IBM希望您使用WebQuery ...
但是查询管理器(STRQM)是5250工具,它甚至可以读取和执行Query / 400查询。在提示模式下,它类似于Query / 400,但是具有SQL的所有功能。
答案 1 :(得分:1)
带有小数的数字字段必须首先转换为字符串。但是,您将在此转换中丢失小数。为了加回小数,必须解析字符串并手动连接小数。
示例
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