代码之家  ›  专栏  ›  技术社区  ›  Jader Dias

如何在数字字段中插入带引号的浮点数?

  •  2
  • Jader Dias  · 技术社区  · 14 年前

    我有一个冗长的脚本,试图插入带引号的浮点值(即。 '15.6' )在float字段中使用T-SQL。

    我有理由相信这个脚本可以在它的开发人员机器上工作,但是由于引号,它在我的SQL Server 2008上失败了。

    当列是数字时,有没有办法配置我的服务器忽略这些引号?这比编辑脚本要容易得多。

    4 回复  |  直到 12 年前
        1
  •  2
  •   Jader Dias    14 年前

    如果需要,引用的值会自动转换为数字。

    我以前没有遇到过这种情况,因为我的机器配置的十进制分隔符与开发人员的机器不同。

    现在我更改了控制面板中的区域设置,一切正常。

        2
  •  1
  •   gbn    14 年前

    不,引号表示它不是数字:您必须更改脚本。

    sqlserver如何了解您 真正地 平均浮动?

    我也怀疑它在另一个SQL Server实例上也能工作。

        3
  •  1
  •   ChrisLively    14 年前

    /****** Object:  Table [dbo].[TestTable]    Script Date: 11/03/2010 14:48:11 ******/
    SET ANSI_NULLS ON
    GO
    
    SET QUOTED_IDENTIFIER ON
    GO
    
    CREATE TABLE [dbo].[TestTable](
        [test] [float] NOT NULL
    ) ON [PRIMARY]
    
    
    GO
    
    insert into TestTable(test) values ('15.6')
    
        4
  •  0
  •   JNK    14 年前

    正如gbn所说,SQL Server将单引号中的任何内容都视为字符串。

    另一种选择(仍将涉及更改脚本,但可能比删除引号更容易)是对脚本执行强制转换:

    CAST('12.5' AS FLOAT)