在数字字符串中查找第一个非零值

时间:2012-09-27 13:39:51

标签: sql sql-server string tsql

我的char(12)列包含以下数据:

000000004012
000000615737
000000000012
000000000100

我需要将其转换为:

4012
615737
12
100

我最初的想法是使用字符串操作,例如CHARINDEX。但是,我需要从左到右搜索NOT 0的第一次出现。如何在SQL Server中完成此操作?

2 个答案:

答案 0 :(得分:11)

顺便问一下,为什么要将数据存储在char?但要回答你的问题,试试这个,

SELECT CAST(colName AS INT)

SELECT CAST('999999999999' AS NUMERIC(12,0))

SQLFiddle Demo

答案 1 :(得分:3)

如果我们谈论数字数据,只需cast(column as int)或任何其他数字数据类型即可。