У меня есть этот запрос :
set IDENTITY_INSERT dbo.OtherData1 ON
INSERT INTO OtherData1 (OtherDataID, EmployeeID, OtherDate, OType, OSubject, StatementNo, StatementDate, Info, OtherAs, FolderSerial)
SELECT OtherDataID, EmployeeID,
CONVERT(DATE, OtherDate, 103),
OType, OSubject, StatementNo,
CONVERT(DATE, StatementDate), Info,
CASE OtherAs
WHEN 'f' THEN 1
WHEN 's' THEN 2
WHEN 't' THEN 3
WHEN 'f' THEN 4
WHEN 'p' THEN 5
WHEN 'o' THEN 6
ELSE NULL END
, FolderSerial
FROM OtherData
Я при его выполнении получаю эту ошибку :
Msg 241, Level 16, State 1, Line 5
Conversion failed when converting date and/or time from character string.
значения для StatementDate, OtherDate находятся в этом формате "31/1/1994"
как строка перед преобразованием
В чем проблема?
EDIT:
если я добавил эту строку кода :
CASE WHEN ISDATE(OtherDate) = 1 THEN
CONVERT(DATE, OtherDate, 103)
ELSE NULL END
Я попробовал, и она не работает, мне нужна какая-то подобная вещь, чтобы проверить, делает ли vaild преобразование, если не вставляет значение NULL, и я получаю то же сообщение об ошибке