Вам нужно 101
век mm/dd/yyyy
, чтобы преобразовать в формат даты:
WHERE ( SUBSTRING(Status, 1, 9) = 'Delivered' AND
CONVERT(date, DeliveryDate , 101) <= CONVERT(date, InStoreDate , 101)
);
Примечание: вам не нужно использовать CAST()
, так как CONVERT()
с веком сделает для вас разговор ,
РЕДАКТИРОВАТЬ: Вы можете проверить возможный формат даты, используя TRY_CONVERT()
:
SELECT DeliveryDate,
TRY_CONVERT(DATE, DeliveryDate, 101) AS Possible_DeliveryDate,
InStoreDate,
TRY_CONVERT(DATE, InStoreDate , 101) AS Possible_InStoreDate
FROM table t;
TRY_CONVERT()
вернет NULL
, когда разговор не удается.