触发器sql null datetime变量

触发器sql null datetime变量,sql,sql-server-2008,datetime,null,Sql,Sql Server 2008,Datetime,Null,我正在用sql server编写sql触发器 在本条中 IF (@EXON = '' OR @DATEDEB='' OR @DATEFIN= '') AND @N_CATComp =4 @DATEDEB@DATEFIN是datetime变量,应用程序接受我想要的这两个变量的null值。在这种情况下,不接受null,这仅适用于第一个变量@EXON plz帮助 如果为空,则返回“” 如果为null,则返回“”要检查变量@MyVar的值是否等于null,应执行以下操作: if (@MyVar IS

我正在用sql server编写sql触发器 在本条中

IF  (@EXON = '' OR @DATEDEB='' OR @DATEFIN= '') AND @N_CATComp =4
@DATEDEB
@DATEFIN
是datetime变量,应用程序接受我想要的这两个变量的null值。在这种情况下,不接受null,这仅适用于第一个变量
@EXON
plz帮助

如果为空,则返回“”


如果为null,则返回“”

要检查变量@MyVar的值是否等于null,应执行以下操作:

if (@MyVar IS NULL)
    print '@MyVar has a NULL value'
else
    print '@MyVar value is not NULL'

您还应该检查辅助函数NULLIF和ISNULL的文档。

要检查变量@MyVar的值是否等于null,您应该执行以下操作:

if (@MyVar IS NULL)
    print '@MyVar has a NULL value'
else
    print '@MyVar value is not NULL'
您还应该查看帮助函数NULLIF和ISNULL的文档。


如果(@EXON=''或@DATEDEB=''或@DATEDEB为NULL或@DATEFIN=''或@DATEFIN为NULL)且@N_CATComp=4


如果(@EXON=''或@DATEDEB=''或@DATEDEB为NULL或@DATEFIN=''或@DATEFIN为NULL)且@N_CATComp=4

谢谢,但如果DATEDEB null DATEFIN null和EXON不为null,则问题无法解决works@hollyx那有什么问题?您需要给出更多数据和预期输出的示例。如果@N_CATComp=4,我们必须输入三个值,即EXON、DATEDEB、DATEFIN。在我的情况下,如果我只输入EXON值和N_CATCOMPT=4,则它将通过,但必须输入三个值entered@hollyx不知道你是什么意思,在回答中包括数值和预期输出。如果catcompt=4,则exon=123和DATEDEB=10032016,DATEFIN=11032016如果我的外显子=123,DATEDEB=''和DATEFIN='',那么这一定是错误的错误消息出现在我的案例中如果我只输入catcomt=4的外显子,那么就没有错误,但这是错误的DATEDEB,DATEFIN不能为空,但如果DATEDEB null DATEFIN null和外显子不为空,问题就没有解决works@hollyx所以有什么问题吗?您需要给出更多数据和预期输出的示例。如果@N_CATComp=4,我们必须输入三个值,即EXON、DATEDEB、DATEFIN。在我的情况下,如果我只输入EXON值和N_CATCOMPT=4,则它将通过,但必须输入三个值entered@hollyx不知道你是什么意思,在回答中包括值和预期输出。如果catcomt=4,则exon=123,DATEDEB=10032016,DATEFIN=11032016如果我有exon=123,DATEDEB=''和DATEFIN='',则这必须是false错误消息在我的情况下出现如果我只输入catcomt=4的exon,则没有错误,但这是false DATEDEB,DATEFIN不得为空