Преобразование не удалось при преобразовании даты и/или времени из символьной строки

У меня есть этот запрос :

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, и я получаю то же сообщение об ошибке

5
задан Saleh 26 February 2011 в 01:06
поделиться