是否可以在具有字符类型的变量中使用函数max()?

时间:2019-08-16 12:23:53

标签: genexus

我需要获取数据库中字符记录的最大数量。

是的,此列已定义为字符,但包含数字序列,我们无法在数据库中将此记录的类型更改为数字。

因此,我尝试通过这种方式获取此字符的最大数量:

&embacod = str(max(EmbaCod.ToNumeric(), + 1))

但是我收到:

  

错误spc0026:无法在以下公式中计算公式'max(val(EmbaCod))'   这个程序。

也尝试过:

&EmbaCods = DpEmbalagens()
for &P0126 in &EmbaCods order (&P0126.EmbaCod.ToNumeric())
    &embacod = &P0126.EmbaCod
    exit
endfor

有一种解决方法来获取最大字符数?

1 个答案:

答案 0 :(得分:0)

最大聚合/选择函数仅针对属性而不是表达式进行定义。

解决方法是在定义EmbaCod的同一事务中定义一个数值公式:

数字(...)类型的

EmbaCodFor,公式为EmbaCod.ToNumeric()

然后在您的代码中使用

&embacod = str(max(EmbaCodFor))