У меня есть столбец, в котором хранятся данные даты и времени.Но данные могут быть в американском формате, британском формате или могут быть мусорными данными.Дело в том, что я хочу попробовать добавить данные в этот столбец.Когда данные представлены в формате Великобритании или США, тогда у меня будет DateAdd + 1, в противном случае останутся данные корзины.
До ===== После
1/30/2018 == 1/31/2018
20.1.18 ==== 21.1.18
N / A ======= N / A
Метод 1:
CASE WHEN ISDATE(MYCOL) = 1 THEN DateAdd(day,1,MYCOL) ELSE MYCOL END
Результат: толькоФорматы США будут +1, формат Великобритании будет игнорироваться
Метод 2:
CASE WHEN ISDATE(CONVERT(Datetime,MYCOL,4)) = 1 THEN DateAdd(day,1,CONVERT(VARCHAR(30),MYCOL,4)) ELSE MYCOL END
Результат: преобразование не выполнено при преобразовании даты и / или временииз строки символов будет в ISDATE(CONVERT(Datetime,MYCOL,4))
из-за данных корзины "N / A"
РЕДАКТИРОВАНИЕ:
Данные корзины будут не только "N / A ", это может быть что угодно.