2012-01-11 75 views
5

因为我有我的编程生涯的曙光这一问题的文化中性的日期格式。是否真的有一个文化中性格式的日期时间在SQL服务器,以便当我从客户端发送查询字符串到数据库服务器运行SQL Server 2008一侧具有不同的系统日期时间格式,如果查询包含转换为一个字符串,什么格式不会给我一个错误。什么是SQL Server

+3

,这将是ISO – 2012-01-11 09:14:13

+0

@Soham:会不会对时区(该日期被发送)被要求呢? – shahkalpesh 2012-01-11 11:15:13

+0

@shahkalpesh - 这是我想避免的。 – 2012-01-11 11:21:49

回答

10

我建议你阅读蒂博尔Karaszi的The ultimate guide to the datetime datatypes

如果你输入未分离或ISO 8601格式的日期/时间,那么你应该罚款的任何配置。

Unseparated = 'yyyymmdd hh:mm:ss' 
ISO 8601 = 'yyyy-mm-ddThh:mm:ss' 

更新(从评论):

如果您需要输入一个日期只(没有时间部分),那么你必须使用'YYYYMMDD'格式,'YYYY-MM-DD'将无法​​正常工作。有关示例,请参阅链接的文章。

+3

对于SQL Server和'DATETIME'类型,您需要为使用'YYYYMMDD' - 或你提到的格式('YYYY-MM-DDTHH(**无破折号**如果你只需要DATE没有时间了!):毫米:ss') - 都工作。 – 2012-01-11 09:24:06

+0

是的,我提到了两者。我通常更喜欢“无破折号”版本。它更简洁。 – MicSim 2012-01-11 09:25:14

+0

不是真的 - 如果您只需要日期(没有时间),则没有提及格式。相反,人们可以相信,'YYYY-MM-DD'不会**工作(而'YYYYMMDD')...... – 2012-01-11 09:26:16

0

你可以考虑将你的日期/时间在UNIX time格式。