CMS*_*CMS 271
您可以使用CAST或CONVERT:
SELECT CAST(MyVarcharCol AS INT) FROM Table
SELECT CONVERT(INT, MyVarcharCol) FROM Table
Run Code Online (Sandbox Code Playgroud)
Örj*_*mte 12
从 SQL Server 2012 开始,您可以使用TRY_PARSE或TRY_CONVERT。
SELECT TRY_PARSE(MyVarcharCol as int)
SELECT TRY_CONVERT(int, MyVarcharCol)
Run Code Online (Sandbox Code Playgroud)
Ste*_*las 11
另请注意,从数字字符串ie转换'56.72'
为INT时,您可能会遇到SQL错误.
Conversion failed when converting the varchar value '56.72' to data type int.
Run Code Online (Sandbox Code Playgroud)
要解决这个问题,请按以下步骤进行两次转换:
STRING - > NUMERIC - > INT
要么
SELECT CAST(CAST (MyVarcharCol AS NUMERIC(19,4)) AS INT)
Run Code Online (Sandbox Code Playgroud)
将数据从TableA复制到TableB时,转换是隐式的,因此您不需要第二次转换(如果您很乐意向下舍入到最接近的INT):
INSERT INTO TableB (MyIntCol)
SELECT CAST(MyVarcharCol AS NUMERIC(19,4)) as [MyIntCol]
FROM TableA
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
695302 次 |
最近记录: |