5

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

000000004012
000000615737
000000000012
000000000100

我需要将其转换为:

4012
615737
12
100

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

4

2 回答 2

12

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

SELECT CAST(colName AS INT)

或者

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

SQLFiddle 演示

于 2012-09-27T13:40:53.370 回答
4

如果我们谈论数字数据,那么做cast(column as int)或作为任何其他数字数据类型就足够了。

于 2012-09-27T13:41:35.747 回答