SQL中float转varchar并去掉小数点后的值
Posted
技术标签:
【中文标题】SQL中float转varchar并去掉小数点后的值【英文标题】:Convert float to varchar in SQL and remove the value after decimal 【发布时间】:2021-10-06 09:15:56 【问题描述】:我有一个包含品牌 ID 的表,如下所示: BrandID 存储为浮点数。
| BrandID |
| -------- |
| 1000962.000000 |
| 1000565.000000 |
如何将此品牌 ID 转换为 varchar(11) 并删除 .(dot) 之后的值 我想要的是:
| BrandID |
| -------- |
| 1000962 |
| 1000565 |
我试过了
SELECT CAST([brand ID] AS Varchar)
但失败并得到另一个错误
字符串或二进制数据将被截断。
如何删除之后的值。然后将其转换为varchar?
非常感谢。
【问题讨论】:
这能回答你的问题吗? How to convert float to varchar in SQL Server 请将您正在使用的数据库的标签添加到您的问题中。 Varchar 不是指 varchar(1) 吗?你需要一个更长的目标! 理想情况下,您应该将列更改为 int。而且它看起来更像是一个小数列,而不是浮点数。 【参考方案1】:您应该先将float
转换为int
,然后再将其转换为nvarchar
。
试试这个:
SELECT CAST(CAST([BrandID] AS INT) AS NVARCHAR)
【讨论】:
以上是关于SQL中float转varchar并去掉小数点后的值的主要内容,如果未能解决你的问题,请参考以下文章