gpt4 book ai didi

sql - 如何找到字符列的 MAX() 值?

转载 作者:行者123 更新时间:2023-12-04 14:06:57 25 4
gpt4 key购买 nike

我们有一个遗留表,其中组合键的列部分之一是手动填充值的:

code
------
'001'
'002'
'099'

等等

现在,我们有功能请求,其中我们必须知道 MAX(代码)才能为用户提供下一个可能的值,例如下一个值上方的示例形式是“100”。

我们试图对此进行试验,但我们仍然找不到任何合理的解释来解释 DB2 引擎如何计算它

MAX('001', '099', '576') 是 '576'

MAX('099', '99', 'www') 是 '99' 等等。

如有任何帮助或建议,我们将不胜感激!

最佳答案

您已经有了获取最大数值的答案,但要回答关于 'www','099','99' 的另一部分。

AS/400 使用 EBCDIC存储值,这在几个方面与 ASCII 不同,对您的目的最重要的是 Alpha 字符出现在数字之前,这与 Ascii 相反。

因此在您的 Max() 上,您的 3 个字符串将被排序并使用最高的 EBCDIC 值

  • '万维网'
  • '099'
  • '99'

如您所见,您的“99”字符串实际上是“99”,因此它比前导零的字符串更高。

关于sql - 如何找到字符列的 MAX() 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6873328/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com