Stas Asked:2020-07-10 15:27:42 +0000 UTC2020-07-10 15:27:42 +0000 UTC 2020-07-10 15:27:42 +0000 UTC 用一个 sql 查询删除前导零 772 有一个表,其中 > 100000 条记录。它有一列带有前导零的数字。例如:0005, 0050, 0500。需要一个请求去除所有的前导零。结果应该是:5、50、500。如何做到这一点? mariadb 2 个回答 Voted Best Answer Novitskiy Denis 2020-07-10T16:06:17Z2020-07-10T16:06:17Z 这个特定版本不在手边,我设法只在 10.3 上检查它。 您可以使用更新: update test set id=SUBSTRING(id,REGEXP_INSTR(id,'[1-9]')) 第二个选项是如果所有值都适合掩码'000[1-9]%',则将类型更改为INT ALTER TABLE test MODIFY COLUMN id INT; 这是小提琴 Akina 2020-07-10T16:04:49Z2020-07-10T16:04:49Z UPDATE tablename SET columnname = columnname + 0 -- WHERE LEFT(TRIM(columnname), 1) = '0' ;
这个特定版本不在手边,我设法只在 10.3 上检查它。
您可以使用更新:
第二个选项是如果所有值都适合掩码'000[1-9]%',则将类型更改为INT
这是小提琴