存储SQL Server 2005日期时间

dan*_*elc 1 sql sql-server datetime sql-server-2005

我有一个PHP脚本通过SQL将值插入SQL Server 2005表

$date = '15 Jun 2011 00:00';
$sql = "INSERT INTO shows ( DateStart ) VALUES ( '$date')"; 
Run Code Online (Sandbox Code Playgroud)

我有2个问题:

1)如何最好地将此日期转换为SQL Server可以理解的内容?我的系统上的默认格式是mm/dd/yyyy,但我想将日期显示为用户可读.

2)插入空字符串时,DateStart值设置为1/1/1900.如何最好地将"无效"日期转换为NULL(该列已经接受NULL),以便在$date = ""那时DateStart IS NULL

谢谢!

gbn*_*gbn 5

  • 第1点:使用ISO日期格式YYYY-MM-DDTHH:MM:SS
    注意:仅限日期使用YYYYMMDDSQL Server解析日期的方式中的异常
  • 第2点: NULLIF(value, '')