Comment écrire quelque chose comme ça dans SQLite? Comme param optionnel si null ne pas utiliser.
(@Year IS NULL OR @Year = DATEPART(year, Date)
Réponses:
3 pour la réponse № 1Vous pouvez faire quelque chose comme ça:
IFNULL(@Year, DATEPART(year, Date)) = DATEPART(year, Date)
IFNULL retourne son premier argument non nul. Dans ce cas, la requête comparera @Year
à DATEPART(year, Date)
aussi longtemps que @Year
est non nulle. S'il est nul, il comparera DATEPART(year, Date)
à DATEPART(year, Date)
, ce qui sera toujours vrai.
Modifier: Notez que DATEPART
n’est pas une méthode SQLite native (le PO l’a référencée, donc il s’agit d’une chose personnalisée qu’il utilise). Une solution native consiste à utiliser strftime("%Y", Date)
(Merci @Jason!)