繁体   English   中英

SQL 将 nvarchar 转换为 int

[英]SQL convert\cast nvarchar to int

我有很多 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?

首先将值设置为适当的格式:

update mytable
    set quantity = convert(decimal, quantity)
    where quantity like '%.%';

然后做alter table

是一个使用 SQL 服务器的 db<>fiddle。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM