Я пытаюсь найти разницу между сегодняшней датой и значением, которое является конкатенацией значений mulitple, но начинается с 8-значной даты без дефиса или косые черты. Я считаю, что что-то не так с моим синтаксисом, но я еще недостаточно квалифицирован, чтобы понять, что я делаю неправильно. Вот то, что я до сих пор:Использование DateDiff(), чтобы найти разницу между getDate() и concatonated значением
select DateDiff(dd, (select MIN(CAST(Left(batchid, 8) as Date)) from
[Table]), getdate()) from [Table]
Это возвращает следующее сообщение об ошибке: «Msg 241, уровень 16, состояние 1, строка 1 Конверсия удалось при преобразовании даты и/или времени из строки символов.»
Какая ошибка вы получаете? Также, как выглядят 8-значные даты в вашей таблице? Являются ли они yyyymmdd, mmddyyyy и т. Д. ... – SQLChao
JChao. Дата - YYYYMMDD, и ошибка, которую я получаю, добавлена в сообщение. –
Ну, очевидно, есть хотя бы одна строка, где 'batchid' не начинается с допустимой даты. Это лишь одна из многих причин, по которым мы указываем даты как даты, а не как часть некоторой строки. –