如何忽略分组依据的 SQL 列中不同数量的起始 0

How to ignore a varying number of starting 0s in a SQL column for group by

我正在使用以下查询在 table 中查找重复的数字:

SELECT 
    c.code,
    COUNT(c.code) 
FROM cards c
group by c.code
HAVING COUNT(c.code)>1;

但是列代码在数字之前有不同数量的0,例如:

0001897
001897
01897
1897

我怎样才能使该查询忽略数字前的所有 0 以将以上所有内容视为重复(分组依据中的同一行)?

您可以尝试将 TRIM 函数与 LEADING '0'

一起使用
SELECT 
    TRIM(LEADING '0' FROM c.code),
    COUNT(c.code) 
FROM cards c
group by TRIM(LEADING '0' FROM c.code)
HAVING COUNT(c.code)>1;

SQLFIDDLE