0
votes

Utilisez où la clause entre les paramètres entre et NULLL pour 2 champs de date

Utilisation des paramètres et SQL dans un rapport SSRS

@fromdate et @todate peut être null - pour obtenir tous les 4 enregistrements

@Fromdate peut avoir une valeur de date tandis que @todate est null - si tel est le cas, il est nécessaire d'obtenir toutes les valeurs de date qui n'ont pas la date de circulation totale

@fromdate et @todate a des valeurs alors besoin d'obtenir les 2 derniers enregistrements

@fromdate et @todate est NULL puis doit obtenir toute valeur

J'ai utilisé le code ci-dessous pour obtenir les données, mais je ne reçois pas les bonnes données, aucune suggestion est appréciée.

où (Travel to @fromstart et @todate)

ou (@todate est null et travelfrom> = @ gastart)

ou (@fromstart est null et travelfrom <= @ toDate)

ou (@fromstart est null et @todate est null)

 Entrez la description de l'image ici

Capture d'écran parmater de SSRS

 Entrez la description de l'image ici


0 commentaires

3 Réponses :


0
votes

En supposant que les entrées de date ou les colonnes elles-mêmes peuvent être utilisées code> null code>, vous pouvez essayer:

SELECT *
FROM yourTable
WHERE
    (@FROMSTART > TravelFrom OR @FROMSTART IS NULL OR TravelFrom IS NULL) AND
    (@TODATE < TravelTo OR @TODATE IS NULL OR TravelTo IS NULL);


0 commentaires

0
votes
SELECT * 
FROM TABLE1
WHERE ((@FROMSTART IS NULL AND @TODATE IS NULL)
OR(@FROMSTART IS NULL AND TravelTo <=@TODATE)
OR(@TODATE IS NULL AND TravelFrom >=@FROMSTART)
OR(TravelFrom >= @FROMSTART AND TravelTo<=@TODATE))
Hope this Query Works fine for your case:You had forgot to mentioned these conditions within an Open/Close bracket.So that only you cannot get the right output.

1 commentaires

Partagez vos commentaires si vous avez des questions - user5368688



0
votes

Je pense que le problème est la 2ème condition

@Fromdate peut avoir une valeur de date tandis que @todate est null - si tel est le cas, il est nécessaire d'obtenir toutes les valeurs de date qui n'ont pas la date de circulation totale

Veuillez essayer le code ci-dessous qui fait (je pense) ce que vous avez spécifié dans votre question. Si cela ne fonctionne pas, veuillez fournir un ensemble de dates de test et résultat attendu pour chaque test, car certains sont un peu ambiguës.

Note: J'ai utilisé le format de date standard pour le Les dates que ceux-ci ne souffriront pas de la conversion vers et du format mm / dd / aaaa que vous utilisez. xxx


1 commentaires

Cela a fonctionné et je suis capable d'obtenir des données pour les 4 critères que je cherchais