我有一个php脚本,通过SQL 将值插入SQL Server 2005表
$date = '15 Jun 2011 00:00';
$sql = "INSERT INTO shows ( DateStart ) VALUES ( '$date')";
我有两个问题:
1) 如何最好地将此日期转换为SQL Server能够理解的内容?在我的系统中,默认格式是mm/dd/yyyy,但我希望向用户显示可读的日期。
2) 插入空字符串时,DateStart值将设置为1/1/1900。如何最好地将"无效"日期转换为NULL(该列已经接受NULL),以便如果$date = ""
则DateStart IS NULL
谢谢!
- 要点1:使用ISO日期格式
YYYY-MM-DDTHH:MM:SS
注意:由于SQL Server解析日期的方式存在异常,因此仅使用YYYYMMDD
作为日期 - 点2:
NULLIF(value, '')
-
我认为在日期时间列中插入记录时的日期时间格式应该始终是"YYYY-MM-DD HH:MM:SS"默认格式
-
gbn已经告诉过了。