如何在SQL Server 2005上使用SQL查询将字符串转换为整数?
你可以使用CAST或CONVERT:
SELECT CAST(MyVarcharCol AS INT) FROM Table
SELECT CONVERT(INT, MyVarcharCol) FROM Table
还要注意,当从数字字符串如“56.72”转换为INT时,您可能会遇到SQL错误。
Conversion failed when converting the varchar value '56.72' to data type int.
为了解决这个问题,只需做两个转换如下:
字符串-> numeric -> int
or
SELECT CAST(CAST (MyVarcharCol AS NUMERIC(19,4)) AS INT)
当从TableA复制数据到TableB时,转换是隐式的,所以你不需要第二次转换(如果你喜欢四舍五入到最近的INT):
INSERT INTO TableB (MyIntCol)
SELECT CAST(MyVarcharCol AS NUMERIC(19,4)) as [MyIntCol]
FROM TableA
从SQL Server 2012开始,您可以使用TRY_PARSE或TRY_CONVERT。
SELECT TRY_PARSE(MyVarcharCol as int)
SELECT TRY_CONVERT(int, MyVarcharCol)
推荐文章
- 使用sql查询将字符串转换为int
- 在postgresql中将查询结果按月和年分组
- 索引中列的顺序有多重要?
- 在SQL Server中做嵌套case语句逻辑的最佳方法
- 如何创建默认值“现在”的时间戳列?
- 准备好的语句如何防止SQL注入攻击?
- 如何改变一个列的数据类型在PostgreSQL表?
- 如何结合日期从一个字段与时间从另一个字段- MS SQL Server
- 如何在不知道其名称的情况下删除SQL默认约束?
- SQL语法区分大小写吗?
- MySQL工作台:如何保持连接活动
- 左连接与Where子句
- 如何使用实体框架只更新一个字段?
- 在表变量上创建索引
- 为什么历史上人们使用255而不是256作为数据库字段大小?