SQL Server Cas d'une Déclaration de valeur EST NULL

Je suis en train de faire une déclaration de type de fonction dans SQL server.

Où il y a une valeur NULL dans le champ, j'ai envie de prendre un domaine à partir de l'une des tables et ajouter 10 jours pour elle.

Et, si possible, de créer une autre colonne et ajouter les 30 jours.

SELECT DISTINCT
    B.[ID],
    MAX(A.[START DATE]),
    B.[STAT],
    C.[POST DATE],
    CASE
          WHEN (C.[POST DATE] BETWEEN C.[EVENT DATE]+10 AND C.[EVENT DATE]+30) THEN 'GOOD'
          END AS [BETTER VISIT],
    CASE
          WHEN B.[STAT] IS NULL THEN (C.[EVENT DATE]+10)
          ELSE '-'
          END AS [DATE]
FROM 
    #TEMP1 A
    FULL OUTER JOIN #TEMP2 B
    ON A.[ID]=B.[ID]
    FULL OUTER JOIN #TEMP3 C
    ON A.[ID]=C.[ID]
GROUP BY
    B.[ID],
    B.[STAT],
    C.[POST DATE],
    C.[EVENT DATE]
ORDER BY
    A.[START DATE] DESC

Le résultat ressemble en quelque sorte à:

    ID  START DATE   STAT    POST DATE    BETTER VISIT    DATE         DATE2
    ---------------------------------------------------------------------------
    1   2013-01-01   GOOD    2013-11-01   GOOD            -            -
    2   2013-03-01   NULL    NULL         NULL            2013-03-11   2013-03-31
  • Quel est le problème avec la sortie que vous êtes maintenant?
  • Msg 242, Niveau 16, État 3, Ligne 1 La conversion d'un type de données varchar à un type de données datetime entraîné dans une gamme de valeur.
  • IsNull pourrait aider. msdn.microsoft.com/en-us/library/ms184325.aspx
  • Je l'ai changé pour ISNULL et l'erreur est maintenant: Msg 4145, Niveau 15, État 1, Ligne 10, Une expression de la non-booléenne de type spécifié dans un contexte où une condition est prévu, près de "ISNULL'.
InformationsquelleAutor caffaddt | 2013-07-25