EXISTS
здесь не понадобится, вы можете использовать DELETE
оператор:
DELETE
FROM [db].[Prices]
WHERE Source = 'Cars' AND TradeDate = CONVERT(DATETIME,'18-02-20', 5) AND
Contract = 'APR25' AND ProductCode = 'Audi' AND
Price = NULLIF('5.00000','') -- this will always 5.00000 `NULLIF` will not required
AND Strike = '27.7500';
Тогда вы можете использовать INSERT
Заявление:
INSERT INTO [db].[Prices] (col1, col2, col3, . . .) -- Qualify all columns
VALUES( 'Cars', convert(datetime,'18-02-20',5), 'APR25', NULL, 'Audi',
NULLIF('5.00000',''), convert(datetime,'15-04-25',5), '1',
GETUTCDATE(), convert(date,NULL,105),
convert(date,NULL,105), 04, 2025, NULL, NULL, '27.7500', '20',
NULL, '0.5',NULL
);
Вы можете удалить nullif()
& стиль разговора в where
предложение:
WHERE Source = 'Cars' AND TradeDate = '2020-02-18' AND
Contract = 'APR25' AND ProductCode = 'Audi' AND
Price = 5.00000 AND Strike = '27.7500';
Возможно, вам понадобится NULLIF()
на Price
:
NULLIF(Price, '')
Примечание: Всегда квалифицируйтесь все столбцы явно при использовании оператора INSERT INTO . .
.