【问题标题】:Convert float to varchar in SQL and remove the value after decimalSQL中float转varchar并去掉小数点后的值
【发布时间】: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。而且它看起来更像是一个小数列,而不是浮点数。

标签: sql nvarchar


【解决方案1】:

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

试试这个:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-23
    相关资源
    最近更新 更多