Мне нужно получить строки, для которых service_date больше prod_date. Тип данных для prod_date - VARCHAR (10) (например, 2/20/2014), а тип данных для service_date - DATE (YYYYMMDD). Если я запрошу service_date, используя «select service_date from service where service_date = '20140201», результат отображает «2/1/2014» в сетке результатов. Тем не менее, это не работает в запросе ниже, когда я конвертирую service_date в varchar для сравнения с prod_date. Он вытаскивает все строки вместо тех, у которых больше service_date.Сравнение столбцов даты
SELECT P.PROD_ID, P.PROD_DESC, S.PROD_ID, S.SERVICE_LOC
FROM PRODUCT P
INNER JOIN SERVICE S
WHERE P.PROD_ID = S.PROD_ID
AND CAST(S.SERVICE_DATE AS VARCHAR(10)) >= P.PROD_DATE
Разве все месяцы между январем и сентябрем для цифр «PROD_DATE»? –
Да, одна цифра. – angelcake