【发布时间】:2021-03-23 12:21:02
【问题描述】:
我有很多 nvarchar(max) 类型的“1.0”值。我想将它们转换为 int 但低于查询:
SELECT CONVERT(int, Quantity)
FROM MyTable
或
SELECT CAST(Quantity as int)
FROM MyTable
或
ALTER TABLE MyTable
ALTER COLUMN [Quantity] int;
返回错误信息: 将 nvarchar 值“1.0”转换为数据类型 int 时转换失败。
如何将 nvarchar '1.0' 转换为 int?
【问题讨论】:
-
您使用的是哪个 dbms?
-
用您正在使用的数据库标记您的问题。
-
根据您的非英语名称判断,我猜您的 SQL Server 配置为使用欧洲基数(逗号)而不是英/美基数(点),因此出现错误。跨度>
-
1.0 并不是真正的整数。它是一个十进制值,精度为小数点后一位。所以我猜你需要两个步骤:1.将字符串转换为小数,2.将小数转换为整数。
标签: sql