Bonjour,
Je souhaiterais faire un filtre sur une valeur null,

Le Contexte :
J'ai un champs datefin qui n'est pas toujours renseigné, je souhaiterais faire un filtre sur tous les éléments dont ( la date de fin est supérieure ou égale a Now ) OU (la date de fin est null).
Et donc je suppose que si je ne renseigne pas la date de fin, celle ci reste a null. (a moins qu'elle n'ai une valeur par défaut comme ''  )
Mon filtre ressemble a ceci :

 ContainerFilterBean  dateFilter = new ContainerFilterBean("datefin",true,jData.params().getEntryLoadRequest());
 dateFilter.addClause(ContainerFilterBean.COMP_BIGGER_OR_EQUAL,"" +todayCalendar.getTimeInMillis() );

Et dès que j'applique ce filtre aucun élément dont datefin est non renseigné n'apparait . (ce qui est logique du point de vue SQL)

J'ajoute donc une clause COMP_ISNULL en ecrivant :
 dateFilter.addClause(ContainerFilterBean.COMP_ISNULL,""  );
(déja la syntaxe n'est pas correcte car la requete générée ne semble pas bonne : b.value_jahia_fields_dataISNULL '' )
J'ai meme modifié les sources pour avoir b.value_jahia_fields_data IS NULL mais ca ne change rien. (hypersonic serait - t 'il différent ?)

Je me pose donc la question de comment filtrer sur un élément dont la valeur n'est pas renseignée.
Si quelqu'un a la solution..

Eric

Jahia 4.1 Hypersonic (ou Oracle) + Tomcat 4.1

Répondre à