What happens when you do a comparison "date <= datetime" in SQL-server?
Are they both cast to date or are they both cast to datetime in order to do the comparison?
What happens when you do a comparison "date <= datetime" in SQL-server?
Are they both cast to date or are they both cast to datetime in order to do the comparison?
datetime has higher precedence than date so the date will be cast to datetime.
This is documented here.
Or you can also see this below
DECLARE @D DATETIME = '2022-09-15 11:59:59';
SELECT CASE WHEN @D = CAST(@D AS DATE) THEN 'Equal' ELSE 'NotEqual' END
(Returns "NotEqual". If the implicit casting was to date and the time portion removed both would be equal)