я получил эту ошибку
Incorrect syntax near '('
Я не мог найти, где проблема с синтаксисом. что случилось? Как это исправить?
INSERT INTO Recurring (WO_DespatchName,
FORMAT(start_date, 'dd/MMM/yyyy hh:mm tt') AS start_date,
WO_MaidName, WO_CustomerName, WO_Address,
FORMAT (end_date, 'dd/MMM/yyyy hh:mm tt') AS end_date,
WO_ContactNumber, WO_Addresss)
VALUES (@WO_DespatchName, @start_date,
@WO_MaidName, @WO_CustomerName, @WO_Address,
@end_date, @WO_ContactNumber, @WO_Addresss);
SELECT SCOPE_IDENTITY();
Вы не можете иметь такие вещи, как FORMAT
и AS
в список столбцов после оператора INSERT INTO
- имена столбцов Только (без выражений, ничего больше)
попробуйте CAST()
вместо FORMAT()
@Eds, проблема не в функциях Format или Cast, пользователи использовали функцию FORMAT не в том месте.
Вы должны использовать FORMAT
в values
. Попробуйте обновить свой запрос, как показано ниже.
INSERT INTO Recurring (WO_DespatchName,
start_date,
WO_MaidName, WO_CustomerName, WO_Address,
end_date,
WO_ContactNumber, WO_Addresss)
VALUES (@WO_DespatchName,
FORMAT(@start_date, 'dd/MMM/yyyy hh:mm tt'),
@WO_MaidName, @WO_CustomerName, @WO_Address,
FORMAT (@end_date, 'dd/MMM/yyyy hh:mm tt'),
@WO_ContactNumber, @WO_Addresss);
SELECT SCOPE_IDENTITY();
Отсутствует контекст, имхо. Действительны ли эти
;
в выбранной вами среде, где вы выполняете операторы SQL?