如何从SQL Server中的nvarchar
数据类型列中删除所有前导零?
示例:
0000000000245
0000000001270
答案 0 :(得分:7)
使用CAST
与int
SELECT CAST('0000000000245' AS int),
CAST('0000000001270' AS int)
但为什么你不首先使用int
?显示前导零是前端的工作。
答案 1 :(得分:1)
您也可以使用隐式转换 - 减少输入: - )
SELECT '0000000000245' + 0
这会变得更复杂,但是,如果此nvarchar不总是包含数字(在这种情况下,@ Tim的答案也会出现问题。)。那么......为什么这是一个nvarchar?你可以改变表格,使其成为整数列吗?
答案 2 :(得分:0)
我发现此解决方案适用于MS SQL Server(2008版),没有任何问题并保留列类型。
CAST(CAST(nvarcharCOL AS int) AS nvarchar)