![]() |
1
12
首先,由于您使用的是SQL Server 2005,因此应该将
可以
失败为
第二,对于所有的日期操纵,我会 总是 使用 ISO-8601 format 无论在SQL Server中设置了什么当前日期格式,它都可以工作。
ISO-8601格式为
不要依赖正在设置的任何特定日期格式!!把你的代码发给我,我会在瑞士-德国的系统上试用它-我几乎保证如果你盲目地假设“en-us”和“mm/dd/yyyy”,它会坏的-它是 不 这个星球上到处都是相同的环境。 不幸的是,SQL Server处理日期的能力相当弱——也许这可能是一个扩展点,在该扩展点使用SQL Server内部的CLR程序集将很有意义,可以利用.NET中更丰富的日期处理功能吗?? 马克
PS:似乎我知道的ISO-8601格式YYYY-MM-DD在SQL Server中并不总是有效,这与在线书籍所宣扬的相反。请改用YYYYMMDD或YYYY-MM-DDTHH:mm:ss。
|
![]() |
2
6
您可以使用设置日期格式来保证日期-月-年订单。 这意味着ISDATE将把“15-07-2009”解析为2009年7月15日。 否则,考虑到外部限制,您的方法就足够好了…但是您也可以重新排序为ANSI/ISO。 在Marc_的回答之后:“set dateformat dmy”适用于大多数欧洲设置… 好啊:
|
![]() |
John D · 需要为NULL或NOT NULL的WHERE子句 4 月前 |
![]() |
Marc Guillot · 记录值时忽略冲突 5 月前 |
![]() |
Fachry Dzaky · 正确使用ROW_NUMBER 5 月前 |
![]() |
TriumphTruth · 从满足特定条件的数据集中选择1行 5 月前 |