从PHP向TSQL日期中插入NULL

从PHP向TSQL日期中插入NULL,php,tsql,date,insert,null,Php,Tsql,Date,Insert,Null,我需要在TSQL表的日期字段中插入一个空值 当我从php构建查询时,我会: if (!is_null($object->getDate())) { $sSql .=" @Date = '".$object->getDate()."',"; } else { $sSql .=" @Date =NULL,"; } 但这将插入01/01

我需要在TSQL表的日期字段中插入一个空值

当我从php构建查询时,我会:

       if (!is_null($object->getDate()))
        {
            $sSql .=" @Date =  '".$object->getDate()."',";   
        }
         else
        {
            $sSql .=" @Date =NULL,";

        }
但这将插入01/01/1900 0:00:00而不是NULL


该列为datetime null,并且在过程中:

AND (@Date IS NULL OR CONVERT(DATETIME, @Date, 102) = MYDB.dbo.MYTABLE.Date)
我是这样设定日期的:

$objet->setDate(NULL);
我做错了什么


非常感谢

您的
$object->getDate()
是否确实返回空值而不是零?您的列
是否为非空默认值0
?这可能是一个愚蠢的问题,但如果没有要添加的数据,您是否可以跳过添加日期字段?让数据库为您插入默认值??datetime null,并在过程中:(@Date为null或CONVERT(datetime,@Date,102)=MYDB.dbo.MYTABLE.Date)Andrewsi不是一个愚蠢的问题,可能我犯了一个基本错误。我像这样设置日期:$object->setDate(NULL);我已经用这些信息更新了帖子,谢谢