如果不存在,则在 SQL Server 中查询中出错



以下查询有什么问题?我找不到错误。谁能帮忙 我有这个问题吗?

IF (NOT EXISTS(SELECT * 
FROM chennai_metro_data 
WHERE TIME1 ='09:00' AND DATE1 ='1-23-2017')) 
BEGIN 
INSERT INTO chennai_metro_data 
VALUES (2021700002,'1-23-2017','09:00',1,0,555555) 
END 
ELSE 
BEGIN 
UPDATE chennai_metro_data 
SET CUMFLOW = 555555 
WHERE TIME1 = '09:00' AND DATE1 = '1-23-2017' 
END

我收到此错误:

Msg 206,级别 16,状态 2,第 1
行 操作数类型冲突:int 与日期不兼容

作为最佳实践,您应该始终定义在使用INSERT时插入的列列表 - 这有助于避免很多问题!

另外:对于日期,要独立于任何语言和区域设置,请尝试使用ISO-8601格式 -YYYYMDDD仅表示日期(无时间),或YYYY-MM-DDTHH:MM:SS表示日期和时间。

所以试试这个代码:

INSERT INTO chennai_metro_data(col1, col2, ...., colN)
VALUES (2021700002, '20170123', '09:00', 1, 0, 555555) 

并将col1colN替换为要插入数据的表中的实际列名

相关内容

  • 没有找到相关文章

最新更新