Я хочу нормализовать поля даты из старого плохо спроектированного дампа базы данных. Теперь мне нужно обновить каждую строку, где поле даты содержит только год.
update table set date = '01.01.' + date
where date like '____' and isnumeric(date) = 1 and date >= 1950
Но это не сработает, потому что sql не выполняет оценку логических выражений при коротком замыкании. Таким образом я получаю сообщение об ошибке «ошибка преобразования nvarchar '01 .07.1989 'в int»
Есть ли способ обойти это? Столбец также содержит строки длиной 4, которые не являются числами (????
, 5/96
, 70/8
и т. Д.). Таблица только имеет 60000 строк