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

Sequelize为原始查询指定替换对象内部的SQL类型

  •  0
  • Yamaha32088  · 技术社区  · 2 年前

    首先,我要说的是,我并没有将Sequelize用作ORM,我只是使用它来对我们的MSSQL数据库执行原始查询。

    有没有办法在replacements对象内部指定SQL数据类型?目前,Sequelize正在尝试转换 startDate endDate 当数据库中的列为SMALLDATETIME时,发送给NVARCHAR。由于转换为NVARCHAR,导致以下错误: RequestError: The conversion of a nvarchar data type to a smalldatetime data type resulted in an out-of-range value.

    我有以下Sequelize查询:

    await sequelize.query(
          `
            INSERT INTO Ledger.PostingPeriods
              (
                messageId,
                PeriodId,
                Name,
                [Active],
                [Open],
                StartDate,
                EndDate
              )
            VALUES
              (
                :messageId,
                :periodId,
                :name,
                :active,
                :open,
                :startDate,
                :endDate
              )
          `,
          {
            replacements: {
              active,
              startDate,
              endDate,
              messageId,
              periodId,
              open,
              name,
            },
          }
        );
    
    0 回复  |  直到 2 年前