【问题标题】:SQL Server concat and convert [closed]SQL Server连接和转换[关闭]
【发布时间】:2021-03-28 10:53:54
【问题描述】:

在 SQL Server 中,我使用 concat 函数来连接两列。一列是数字。因为在concat 之后,输出以科学计数法显示该数字。有什么办法可以避免这种科学记数法?

我试过了

concat (convert (numbercolumn as varachar), text_column)

但我得到一个错误

concat 不是可识别的内置函数名

【问题讨论】:

  • 样本数据和期望的结果会有所帮助。
  • “输出以科学计数法显示该数字” 这意味着您的源列是 float/real,这本身就是一个问题。
  • CONCAT 在 SQL Server 2008 的 SQL Server 中添加。如果您收到消息 “concat 不是可识别的内置函数名称。” 那么您正在使用一个生命周期结束的版本,你真的需要解决这个升级问题。

标签: sql sql-server type-conversion concatenation scientific-notation


【解决方案1】:

首先,你不需要显式转换,所以:

concat(numbercolumn, textcolumn)

如果这仍然转换为指数,则先转换为十进制。我不确定你想要的东西是什么样的,但类似于:

concat(convert(decimal(38, 10), numbercolumn), textcolumn)

您还可以使用format()str() 将值转换为字符串。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-27
    • 1970-01-01
    相关资源
    最近更新 更多