У меня есть плоский файл, который я импортирую в промежуточную таблицу SQL Server 2005 в качестве символьных данных.преобразование varchar на сегодняшний день/Использование isdate()
Мне нужно преобразовать поле дня рождения в формат даты и времени при копировании его в конечную таблицу назначения. Я делал так, используя следующее:
BIRTHDAY = case when isdate(DOB)=1 then convert(datetime, '19'+right(DOB, 2)+left(DOB, 2)+substring(DOB,3,2)) else null end
Проблема только 100+ из дней рождения из 32k + файла идентифицированы как даты.
Я не вижу разницы между теми, которые являются датами, и теми, которые не являются. Я включил выборку ниже.
good date bad date
41129 100465
10531 122467
10429 20252
81030 62661
31231 20959
11028 91965
80928 60665