簡體   English   中英

如何修復錯誤 - 操作數類型沖突:日期與 int 不兼容

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM