代码之家  ›  专栏  ›  技术社区  ›  Giffyguy

SQL Server:将FLOAT转换为NVARCHAR,最大精度,无科学符号

  •  0
  • Giffyguy  · 技术社区  · 7 年前

    FLOAT 一个字符串,而不显示科学符号,并捕捉所有可能的精度。

    例如,当我执行 SELECT 1E0 / 1346E0 我得到以下结果:

    enter image description here

    这就是SQLServer显示 浮动
    在本例中,它显示18位小数,这比 STR 功能可以提供。
    它也不添加任何尾随零。

    如果SQLServerManagementStudio可以做到这一点,我是否也可以在代码中获得这种转换?


    不幸的是 CONVERT 功能不提供我需要的,即使是样式3

    enter image description here

    2 回复  |  直到 7 年前
        1
  •  1
  •   Adrian Maxwell    7 年前

    尝试 format()

    选择 1E0/1346E0级

        2
  •  1
  •   Xedni    7 年前
    declare @float float = 0.000742942050520059
    
    select cast(cast(@Float as decimal(38,35)) as varchar(200))
    

    也有人指出, format 工作也一样,虽然我不是一个巨大的球迷,因为它是一种沉重的打击CLR。但一次性的,没关系。

    推荐文章