[英]Error: 'Operand type clash: date is incompatible with int ' on date type
[英]How to fix the error - Operand type clash: date is incompatible with int
INSERT INTO Buy
SELECT Title
,Type1
,Tedat
,DATEADD(DAY, - 2, DATEADD(YEAR, - 1, Tarikh))
,Descrip
FROM Buy
WHERE (
Tarikh BETWEEN 2019-03-21
AND 2020-03-19
)
您需要將日期用引號括起來,因為如果沒有它們,它們將被評估為一系列整數,這與WHERE
子句中的日期無法比較:
INSERT INTO Buy
SELECT Title,
Type1,
Tedat,
DATEADD(DAY,-2,DATEADD(YEAR,-1,Tarikh)),
Descrip
FROM Buy
WHERE Tarikh BETWEEN '2019-03-21' AND '2020-03-19'
您缺少日期的引號
INSERT INTO Buy SELECT Title,Type1,Tedat,DATEADD(DAY,-2,DATEADD(YEAR,-1,Tarikh)),Descrip FROM Buy
WHERE(Tarikh BETWEEN '2019-03-21' AND '2020-03-19' )
您需要將日期用引號括起來,例如'2019-03-21'
而不是2019 - 03 - 21
INSERT INTO Buy
SELECT Title
,Type1
,Tedat
,DATEADD(DAY, -2, DATEADD(YEAR, -1, Tarikh))
,Descrip
FROM Buy
WHERE Tarikh BETWEEN '2019-03-21' AND '2020-03-19'
此外,您應該指定列以避免意外錯誤(插入不正確的列或只想插入多個列而不是所有列)
INSERT INTO Buy(column1, column2,.. )
SELECT Title, Tedat, ..
FROM Buy
閱讀以下帖子以更好地理解
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.