存储SQL Server 2005日期时间

时间:2011-06-01 08:12:03

标签: sql sql-server sql-server-2005 datetime

我有一个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

谢谢!

2 个答案:

答案 0 :(得分:5)

  • 第1点:使用ISO日期格式YYYY-MM-DDTHH:MM:SS
    注意:对于日期,仅使用YYYYMMDD,因为SQL Server解析日期的方式存在异常
  • 第2点:NULLIF(value, '')

答案 1 :(得分:0)

  1. 我认为在datetime列中插入记录时的日期时间格式应始终为“YYYY-MM-DD HH:MM:SS”Default Format

  2. gbn已经告诉过了。