Je suis nouveau sur Teradata. Voici la situation:?Déclarez les paramètres dans la requête Teradata OU If-then-else
Si CURRENT_DATE est < 15 du mois, puis paramètre StartDate = 1er mois préc et EndDate param = dernière date du mois en cours
SELECT ... FROM ViewA
WHERE date BETWEEN ?Startdate AND ?EndDate
ELSE si CURRENT_DATE> = 15 puis paramètre = Startdate 1er du mois courant et EndDate param = dernière date du mois en cours
SELECT ... FROM ViewA
WHERE date BETWEEN ?Startdate AND ?EndDate
Je suis en mesure de calculer les dates dans l'e cas, mais ne peut pas comprendre:
# 1) comment les mettre dans les paramètres. Si je peux les mettre dans params alors tout ce que je dois faire est
SELECT ... FROM ViewA
WHERE date BETWEEN ?Startdate AND ?EndDate
OU # 2) Ecrire un IF-THEN-ELSE
If Current_date is < 15 of month
SELECT ... FROM ViewA
WHERE Date BETWEEN
ADD_MONTHS((DATE - EXTRACT(DAY FROM DATE)+1), -1) AND ADD_MONTHS(LAST_DAY(DATE),0)
ELSE
SELECT ... FROM ViewA
WHERE date BETWEEN
ADD_MONTHS((DATE - EXTRACT(DAY FROM DATE)+1), 0) AND ADD_MONTHS(LAST_DAY(DATE),0))
END IF
S'il vous plaît guider comment atteindre # 1 ou # 2. Je NE PEUX PAS créer de fonction ou de procédure stockée dans la teradata
Votre colonne est-elle vraiment nommée 'date'? Si c'est le cas, vous devez le mettre entre guillemets. Je ne sais pas si cela fonctionnerait de cette façon, ou en comparant avec la date réelle. – ULick
Non, il n'est pas nommé 'date' mais c'est un champ date – SilverFish