从PHP向TSQL日期中插入NULL
我需要在TSQL表的日期字段中插入一个空值 当我从php构建查询时,我会:从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
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);我已经用这些信息更新了帖子,谢谢