给定列中的数据,如下所示:
00001 00
00026 00
我需要使用 SQL 从值中删除空格和所有前导零之后的任何内容,以便最终输出:
1
26
我怎样才能最好地做到这一点?
顺便说一句,我正在使用 DB2
最佳答案
这在 DB2 for Linux/Unix/Windows 和 z/OS 上进行了测试。
您可以使用 DB2 中的 LOCATE()
函数来查找字符串中第一个空格的字符位置,然后将其发送给 SUBSTR()
作为结束位置(减去一个)以仅获取字符串的第一个数字。强制转换为 INT
将去除前导零,但如果您需要以字符串形式,您可以再次将 CAST
转换为 CHAR
。
SELECT CAST(SUBSTR(col, 1, LOCATE(' ', col) - 1) AS INT)
FROM tab
关于sql - 删除前导零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9091297/