Sql 比较where子句中的英制格式日期时出错
当我在SQLServer2005中运行这个时,我得到了一个错误Sql 比较where子句中的英制格式日期时出错,sql,sql-server,sql-server-2005,tsql,Sql,Sql Server,Sql Server 2005,Tsql,当我在SQLServer2005中运行这个时,我得到了一个错误 select * from productratedates where RateDate BETWEEN '31/10/2009' AND '03/11/2009' 错误:将char数据类型转换为datetime数据类型导致datetime值超出范围 但当我在SQLServer2005中运行这个时。完全可以 select * from productratedates where RateDate BETWEEN '2009
select * from productratedates
where RateDate BETWEEN '31/10/2009' AND '03/11/2009'
错误:将char数据类型转换为datetime数据类型导致datetime值超出范围
但当我在SQLServer2005中运行这个时。完全可以
select * from productratedates
where RateDate BETWEEN '2009-10-31' AND '2009-11-03'
我想比较一下英国格式的日期
任何帮助 您可以在将日期发送到服务器之前将其转换为
YYYY-MM-DD
格式。您可以在将日期发送到服务器之前将其转换为YYYY-MM-DD
格式。您的评论说您希望以日/月/年格式输入日期。您可以使用以下选项选择该格式:
例如:
set dateformat dmy
select cast('31/10/2009' as datetime) -- succeeds
set dateformat mdy
select cast('31/10/2009' as datetime) -- fails
您可以使用以下命令检索当前日期格式设置:
A及其日期格式可从以下网站获得:
exec sp_helplanguage
对我来说,称为“British”的语言有dateformatdmy
。因此,您可以将登录名的默认语言更改为英国语(从登录名的属性页)。您甚至可以在以下列表中指定该语言:
Server=;Uid=;Pwd=;当前语言=英国语
您的评论说您希望以日/月/年格式输入日期。您可以使用以下选项选择该格式:
例如:
set dateformat dmy
select cast('31/10/2009' as datetime) -- succeeds
set dateformat mdy
select cast('31/10/2009' as datetime) -- fails
您可以使用以下命令检索当前日期格式设置:
A及其日期格式可从以下网站获得:
exec sp_helplanguage
对我来说,称为“British”的语言有dateformatdmy
。因此,您可以将登录名的默认语言更改为英国语(从登录名的属性页)。您甚至可以在以下列表中指定该语言:
Server=;Uid=;Pwd=;当前语言=英国语
日期尽可能以美国格式读取,因此“2009年10月31日”必须是英国格式,但“2009年11月3日”则改为3月11日。时间倒流会把你们的关系搞得一团糟
我不知道它是否适用于您,但我们始终使用dd mmm yyyy格式:
select * from productratedates where RateDate BETWEEN '31-oct-2009' AND '03-nov-2009'
日期尽可能以美国格式读取,因此“31/10/2009”必须是英国格式,但“03/11/2009”则改为3月11日。时间倒流会把你们的关系搞得一团糟 我不知道它是否适用于您,但我们始终使用dd mmm yyyy格式:
select * from productratedates where RateDate BETWEEN '31-oct-2009' AND '03-nov-2009'
日期的格式实际上是一个接口问题。如果只查看数据,则日期应始终采用一种特定格式
YYYY/MM/DD
您的界面负责以本地化格式显示日期。通过使用这种实践,脚本在使用位置和语言方面模棱两可。因此,应始终以标准格式比较日期
我建议你做的是让你的界面以你喜欢的格式显示出来,后端(包括SQL语句)是标准化的日期格式。日期的格式实际上是一个界面的事情。如果只查看数据,则日期应始终采用一种特定格式
YYYY/MM/DD
您的界面负责以本地化格式显示日期。通过使用这种实践,脚本在使用位置和语言方面模棱两可。因此,应始终以标准格式比较日期
我建议你做的是让你的界面以你喜欢的格式显示出来,后端(包括SQL语句)是标准化的日期格式