将SQL中的float转为varchar并去掉小数点后的值

Convert float to varchar in SQL and remove the value after decimal

我有 table 包含品牌 ID,如下所示: BrandID 存储为浮点数。

| BrandID | 
| -------- | 
| 1000962.000000   | 
| 1000565.000000   | 

如何将此品牌 ID 转换为 varchar(11) 并删除 .(点)之后的值 我想要的是:

| BrandID  | 
| -------- | 
| 1000962  | 
| 1000565  | 

我试过了 SELECT CAST([brand ID] AS Varchar) 但失败并收到另一个错误 字符串或二进制数据将被截断。 如何删除 后的值。然后将其转换为varchar? 非常感谢。

您应该先将 float 转换为 int,然后再将其转换为 nvarchar

试试这个:

SELECT CAST(CAST([BrandID] AS INT) AS NVARCHAR)