删除SQL Server中nvarchar列中的前导零

时间:2013-03-12 21:48:24

标签: asp.net sql sql-server tsql

如何从SQL Server中的nvarchar数据类型列中删除所有前导零?

示例:

0000000000245
0000000001270

3 个答案:

答案 0 :(得分:7)

使用CASTint

SELECT CAST('0000000000245' AS int),
       CAST('0000000001270' AS int)

Demo

但为什么你不首先使用int?显示前导零是前端的工作。

答案 1 :(得分:1)

您也可以使用隐式转换 - 减少输入: - )

SELECT '0000000000245' + 0

这会变得更复杂,但是,如果此nvarchar不总是包含数字(在这种情况下,@ Tim的答案也会出现问题。)。那么......为什么这是一个nvarchar?你可以改变表格,使其成为整数列吗?

答案 2 :(得分:0)

我发现此解决方案适用于MS SQL Server(2008版),没有任何问题并保留列类型。

CAST(CAST(nvarcharCOL AS int) AS nvarchar)