Comment gérez-vous les valeurs Null dans une DATEDIFF comparaison?
Je dois comparer 2 colonnes séparées à venir avec la date la plus récente entre eux. Je suis à l'aide de DATEDIFF(minute, date1, date2) pour comparer entre eux, cependant, dans certains dossiers, la date est Null, ce qui renvoie un résultat nul et bousille le CAS.
Est-il un moyen de contourner cela, ou une façon de qui prédéterminent date est nulle avant?
(psudocode)
UPDATE TABLE
SET NAME = p.name,
NEW_DATE = CASE WHEN DATEDIFF(minute,d.date1,d.date2) <= 0 THEN d.date
ELSE d.date2
END
FROM TABLE2 d
INNER JOIN TABLE3 p
ON d.ACCTNUM = p.ACCTNUM
Pourquoi utiliser datediff au lieu de simplement comparer les deux dates? N'est-ce pas juste besoin de plus de temps de traitement?
Comme vous êtes un nouvel utilisateur, vous devez les accepter une réponse si vous le trouvez utile. Parce qu'il donne répondeur impression qu'ils vous aider à ne perdez plus de temps. Quelques temps nouveaux de l'utilisateur de poser une question et de le quitter.
Comme vous êtes un nouvel utilisateur, vous devez les accepter une réponse si vous le trouvez utile. Parce qu'il donne répondeur impression qu'ils vous aider à ne perdez plus de temps. Quelques temps nouveaux de l'utilisateur de poser une question et de le quitter.
OriginalL'auteur user1385330 | 2012-05-09
Vous devez vous connecter pour publier un commentaire.
Vous pouvez simplement ajouter de la logique supplémentaire dans votre CAS:
OriginalL'auteur Andrey Gurinov
Je voudrais utiliser
ISNULL
.ou peut-être
si vous souhaitez gérer les valeurs null dans l'autre sens.
OriginalL'auteur Albin Sunnanbo
Vous pouvez essayer quelques-uns pensent comme ça. Vous pouvez utiliser
Is Null
pour vérifier la valeur null.SQL Server MS Access
SQL Fonctions NULLES
OriginalL'auteur jams
Cela devrait vous donner ce que vous voulez avec un minimum de traitement nécessaire.
OriginalL'auteur therealmitchconnors
Personnellement, j'utilise ceci:
Cela fonctionne bien si vous avez plus de types de données complexes comme la DATE. J'ai cherché la solution et beaucoup de gens se demandent comment faire, il suffit de soustraire date null ou pourquoi la simple 0000-00-00 ne fonctionne pas. Le CII peut éviter de soustraction lorsque minuend ou soustraction est null.
Exemple:
OriginalL'auteur Mike