我有一张这样的 table :
id: PK bigint
RatePercent: decimal(4, 4)
DateRange: date
我正在尝试按如下方式填充表格:
- RatePercentage 全部为 0.12
- 日期从“01-01-2015”到“12-31-2099”
不幸的是,我的查询不会那样做,并且一直说
Operand type clash: date is incompatible with int
除了 id bigint 之外,我还没有分配 int 数据类型。我有点困惑。
这是我目前的查询:
DECLARE @Date Date
SET @Date = '01-01-2015'
WHILE @Date <= '12-31-2099'
BEGIN
INSERT INTO [dbo].[IMF_Main_VATHistory] (VATRate, VATDate)
VALUES (0.12, @Date + 1);
END
最佳答案
试试这个:
DECLARE @Date Date
SET @Date = '01-01-2015'
WHILE @Date <= '12-31-2099'
BEGIN
INSERT INTO [dbo].[IMF_Main_VATHistory] (VATRate, VATDate)
VALUES (0.12, DATEADD(DAY, 1, @Date));
SET @Date = DATEADD(DAY, 1, @Date);
END
您不能在 SQL Server 中直接添加 DATE
数据类型(作为引用,我认为您可以在 Oracle 中)。您必须使用函数来修改 DATE
/DATETIME
变量(或列)。
这是一个示例 SQLFiddle .
关于sql-server - SQL : Can't insert a date loop into a column,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31581228/