Microsoft
Software
Hardware
Network
Question : TRAITER LE SQL : FUSIONNENT LA FONCTION - GAMMES DE DATE ET VALEURS NULLES
J'emploie traite le SQL pour traiter une série de filtres possibles de choix de par appeler l'application dans VB6. Si rien n'est choisi pour un champ donné dans le $$etAPP appelant, alors je ne veux pas filtrer sur ce champ. La fonction de FUSION fonctionne bien pour ceci, et travaille sur tout sauf la chaîne de date. Tous les champs possibles dans la base de données contiennent une valeur, ou une valeur NULLE. Le problème que j'ai est avec la chaîne de date. Si je passe dans une gamme des dates, elle filtrera sur cette gamme et renverra seulement ces disques dans cette gamme. Si je passe dans rien (aucun filtre voulu) j'ai placé les variables de chaîne de date POUR ANNULER (comme je fais pour les autres champs) et m'attendrais à ce que tous les disques soient retourné s'il a une date ou une NULLE. Au lieu de cela, il renvoie tous les disques avec n'importe quelle valeur de date dans le domaine - il exclut les disques de date avec une valeur de NULLE dans la base de données. Je ne comprends pas pourquoi cela fonctionne comme prévu avec cette approche pour les autres champs de choix, pourtant pas pour la date. Ma question est ci-dessous. Avec ses arrangements variables courants je m'attendrais à ce qu'elle renvoie TOUT LE records.
--Appliquer les filtres comme nécessaire basé sur des valeurs passées dedans à partir d'appeler application.
--L'utilisation FUSIONNENT fonction : Si aucune valeur n'est passée dedans, placer la variable POUR ANNULER et FUSIONNER alors n'appliquera pas un filter.
--ceci fonctionne très bien, filtrant aussi nécessaire ou renvoyant tous les disques que nécessaires (s'il y a une valeur non nulle dans le domaine), excepté le here
de DATE--Pour la chaîne de date, si je passe dans une gamme cela fonctionne correctement et filtre sur la gamme, mais si JE PLACE des variables de chaîne de date POUR ANNULER (pendant que je fais les autres variables) pour pour ne pas filtrer sur le champ, l'it
--disques de retours seulement avec une valeur de date dans le domaine. Il ne renvoie pas les disques avec un CHAR NUL de @TERRITORY de value.
DECLARE (@STATE VARCHAR (COMPAGNIE du @DATEEND=NULL
SELECT de DATETIME
SET de @DATEEND du @DATEBEGIN=NULL
DECLARE de DATETIME
SET de @DATEBEGIN du @STATE=NULL
DECLARE de 10)
SET, ADRESSE, VILLE, ÉTAT, CODE POSTAL, TERRITOIRE, FOLLOWUPDATE
FROM LEADS
WHERE
DECLARE de 5)
SET/>TERRITORY = FUSIONNENT (@TERRITORY, TERRITOIRE) AND
STATE = FUSIONNENT (@STATE, ÉTAT) AND
FOLLOWUPDATE ENTRE FUSIONNENT (@DATEBEGIN, FOLLOWUPDATE) ET FUSIONNENT (@DATEEND, FOLLOWUPDATE) le
class= de
Réponse : TRAITER LE SQL : FUSIONNENT LA FONCTION - GAMMES DE DATE ET VALEURS NULLES
Vous pourriez juste devoir changer ceci
FOLLOWUPDATE ENTRE FUSIONNENT (@DATEBEGIN, FOLLOWUPDATE) ET FUSIONNENT (@DATEEND, FOLLOWUPDATE)
à
(LE @DATEBEGIN DE >= DE FOLLOWUPDATE OU @DATEBEGIN EST NUL) ET (FOLLOWUPDATE <>
Autres solutions
MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
Emplacement primaire de deux SCCM dans l'annuaire actif
L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
Stocker le dossier dans le mysql using connector.net et le champ de goutte
Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
Winzip 12 issues de secours du travail ?