sql - 删除前导零

标签 sql db2

给定列中的数据,如下所示:

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/

相关文章:

函数 slqastrt、sqlacall、sqlastop 上的 Ubuntu DB2 gcc prep 错误

mysql - 我已经卸载了wamp,如何进行存储过程备份?

mysql - 错误代码: 1215: Cannot add foreign key constraint

c# - 为什么要创建外键约束?

sql - 如果我无法向其中添加任何用户,那么 Azure Synapse 中的角色有什么用?

java - 在 Android 版 ORMLite 中加入类会引发 SQL 异常 : could not find a foreign class or vice versa

hadoop - 从IBM db2到Hive的Sqoop导入

db2 - 导出/导入一个表的所有信息

c++ - 如何从单独的线程使用 ODBC 访问 DB2 数据库?

c# - 通过 Entity Framework 插入当前数据库日期时间