В идеале, не храните даты как varchar
, сохраняйте их как date
и не беспокойтесь о формате, в котором они отображаются в вашем уровне представления. Поэтому вы должны просто сделать:
SELECT TRY_CONVERT(date,YourVarcharMAXDate,103);
Если вы должны получить формат yyyyMM`` (i don't recommend, change your data type of your column to
дата ), then you can use a furterh
CONVERT`:
SELECT CONVERT(varchar(8),TRY_CONVERT(date,YourVarcharMAXDate,103),112);
Если механизм обработки данных не может преобразовать дату из-за того, что она является недопустимым форматом, TRY_CONVERT
вернет NULL
; вам нужно исправить эти значения (сделать их действительными). Еще одна веская причина, почему бы не использовать varchar
для хранения даты.