什么是SQL Server的文化中立日期格式

Soh*_*pta 6 sql datetime-format sql-server-2008

自从编程生涯开始以来,我就有了这个问题.在sql server中是否真的存在日期时间的文化中性格式,以便当我从客户端向运行具有不同系统日期时间格式的sql server 2008端的数据库服务器发送查询字符串时,如果查询包含转换为的日期一个字符串,什么格式不会给我一个错误.

Mic*_*Sim 11

我建议阅读Tibor Karaszi的datetime数据类型的终极指南.

如果您以未分离或ISO 8601格式输入日期/时间,那么任何配置都应该没问题.

Unseparated = 'yyyymmdd hh:mm:ss'
ISO 8601    = 'yyyy-mm-ddThh:mm:ss'
Run Code Online (Sandbox Code Playgroud)

更新(来自评论):

如果您只需要输入日期(没有时间部分),那么您必须使用该'YYYYMMDD'格式,因为'YYYY-MM-DD'不起作用.有关示例,请参阅链接的文章.

  • 对于SQL Server和`DATETIME`类型,你需要使用`YYYYMMDD`(**没有破折号!**如果你只需要DATE - 没时间),或你提到的格式(`yyyy-mm-ddThh:mm: ss`) - 两者都有效. (3认同)
  • SQL Server中的单个时区感知类型是datetimeoffset(自2008年起).有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/bb630289.aspx. (2认同)