DIGITS 标量函数 (scalar function)

DIGITS 函数返回一个字符串,表示一个数字的绝对值。

阅读语法图跳过可视化语法图DIGITS( 数字表达式)

该模式是 SYSIBM。

参数必须是一个返回SMALLINT、INTEGER、BIGINT或DECIMAL内置数值数据类型的值。

函数的输出是一个固定长度的字符串,表示参数的绝对值,而不考虑其范围。 结果不包括符号和小数点。 相反,它完全由数字组成,必要时用前导零补齐字符串。 琴弦的长度为:

  • 5,如果参数是小整数
  • 如果参数为整数,则取10
  • 如果参数是一个大整数,则为19
  • 如果参数是精度为 p 的十进制数,则为 p

结果可以为空值;如果参数为空值,那么结果为空值。

结果的CCSID由调用函数的上下文决定。 更多信息,请参阅字符串的编码方案和 CCSID 规则

示例1 :假设在名为TABLEX的表格中有一个名为INTCOL的整数列,其中包含一个10位数字。 INTCOL使用数据类型INTEGER代替CHAR(10)以节省空间。 以下查询列出了INTCOL列中前四位数字的所有组合。
   SELECT DISTINCT SUBSTR(DIGITS(INTCOL),1,4)
     FROM TABLEX;
示例2 :假设COLUMNX的数据类型为DECIMAL(6,2),其值之一为 -6.28。 对于这个值,以下语句返回值“000628”。
   DIGITS(COLUMNX)

结果是一个长度为6的字符串(列的精度),前导零将字符串补齐到这个长度。 结果中既没有符号也没有小数点。