【问题标题】:SQL - Proper Decimal Data Type SyntaxSQL - 正确的十进制数据类型语法
【发布时间】:2016-06-15 19:29:42
【问题描述】:

我正在尝试向查询中的现有表添加一列。我在向表中添加新数据方面没有太多经验,所以我不确定我当前的查询有什么问题。

我想创建一个新列,并用两个单独列的乘积填充它。所需的数据类型是 DECIMAL,但我无法让它工作。这是我的查询:

ALTER TABLE PPCSTSTR_SQL
ADD vac_var [DECIMAL(16, 6)]

UPDATE PPCSTSTR_SQL
SET    PPCSTSTR_SQL.vac_var = ( PPCSTSTR_SQL.vac_fctr * PPCSTSTR_SQL.vac_rate )

SELECT PPCSTSTR_SQL.*
FROM   PPCSTSTR_SQL 

我不断收到一条错误消息:UpdateDisplay:获取视图数据时出错:ReturnValues:列、参数或变量 #41:找不到数据类型 DECIMAL(16,6)。

我也试过了:

ADD vac_var DECIMAL(16, 6) //Without the brackets
ADD vac_var [decimal(16, 6)] //Lowercase

据我所知,这是使用十进制值创建新列的正确语法。我做错了什么?

【问题讨论】:

  • 你用的是什么数据库软件?
  • @DStanley 是 WiSys 的一个名为 Agility Design Studio 的程序。我相信它使用 T-SQL。
  • @Jabo13 我指的是后端数据库——SQL Server、Oracle、MySQL 等。根据服务器软件的不同,语法可能会略有不同。
  • @DStanley 我相信它是 SQL Server,但老实说,我对区分差异的知识有限。
  • 那么 ADD vac_var DECIMAL(16, 6) 应该可以工作 - 你得到 same 错误还是不同的错误?

标签: sql database decimal add


【解决方案1】:

你可以写:

ALTER TABLE tableName ADD vac_var DECIMAL(16, 6)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-28
    • 2011-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多