Comparer les colonnes de date

J'ai besoin de récupérer les lignes qui service_date est plus grand que prod_date.
Le type de données pour prod_date est de type VARCHAR(10) (2/20/2014 par exemple) et le type de données pour service_date est la DATE (AAAAMMJJ). Si j'ai une requête service_date à l'aide de "sélectionner service_date de service où service_date ='20140201'", le résultat est de montrer "2/1/2014" dans la grille des résultats. Toutefois, il ne fonctionne pas dans la requête ci-dessous lorsque j'convertir service_date varchar pour comparer avec prod_date. Il tire tous les rangs au lieu de ceux qui ont plus de 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
  • Sont tous les mois entre janvier et septembre, un chiffre, mois pour PROD_DATE?
  • Oui à un seul chiffre.
InformationsquelleAutor angelcake | 2015-04-10