以下查询有什么问题?我找不到错误。谁能帮忙 我有这个问题吗?
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)
并将col1
colN
替换为要插入数据的表中的实际列名。