SQL 服务器中如果不存在查询时出错
Error in if not exists query in 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, Level 16, State 2, Line 1
Operand type clash: int is incompatible with date
作为最佳实践,您应该始终在使用 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)
并用您要插入数据的 table 中的 实际列名 替换 col1
至 colN
。
以下查询有什么问题?我找不到错误。谁能帮忙 我有这个问题吗?
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, Level 16, State 2, Line 1
Operand type clash: int is incompatible with date
作为最佳实践,您应该始终在使用 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)
并用您要插入数据的 table 中的 实际列名 替换 col1
至 colN
。