为了账号安全,请及时绑定邮箱和手机立即绑定

SQL查询在两个日期之间选择日期

SQL查询在两个日期之间选择日期

MMMHUHU 2019-07-08 16:32:11
SQL查询在两个日期之间选择日期我有一个start_date和end_date..我想得到这两个日期之间的日期列表。有人能帮我指出我查询中的错误吗。select Date,TotalAllowance  from Calculation  where EmployeeId=1   and Date between 2011/02/25 and 2011/02/27这里Date是datetime变量。
查看完整描述

3 回答

?
沧海一幻觉

TA贡献1824条经验 获得超5个赞

你应该把这两个日期放在单引号之间,比如.。

select Date, TotalAllowance from Calculation where EmployeeId = 1
             and Date between '2011/02/25' and '2011/02/27'

或可以使用

select Date, TotalAllowance from Calculation where EmployeeId = 1
             and Date >= '2011/02/25' and Date <= '2011/02/27'


查看完整回答
反对 回复 2019-07-08
?
交互式爱情

TA贡献1712条经验 获得超3个赞

因为没有指定时间段的日期时间的值为date 00:00:00.000,如果要确保得到范围内的所有日期,则必须为结束日期提供时间,或者增加结束日期并使用<.

select Date,TotalAllowance from Calculation where EmployeeId=1 and Date between '2011/02/25' and '2011/02/27 23:59:59.999'

select Date,TotalAllowance from Calculation where EmployeeId=1 and Date >= '2011/02/25' and Date < '2011/02/28'

select Date,TotalAllowance from Calculation where EmployeeId=1 and Date >= '2011/02/25' and Date <= '2011/02/27 23:59:59.999'

不要使用以下内容,因为如果记录的时间为00:00:00.000,则可以返回2011/02/28年度的一些记录。

select Date,TotalAllowance from Calculation where EmployeeId=1 and Date between '2011/02/25' and '2011/02/28'


查看完整回答
反对 回复 2019-07-08
?
湖上湖

TA贡献2003条经验 获得超2个赞

试试这个:

select Date,TotalAllowance from Calculation where EmployeeId=1
             and [Date] between '2011/02/25' and '2011/02/27'

日期值需要输入为字符串。

为了确保将来对SQLServer 2008及更高版本的查询进行校对,Date应该转义,因为在以后的版本中它是一个保留字。

请记住,没有时间的日期以午夜作为默认值,因此您可能没有正确的值。


查看完整回答
反对 回复 2019-07-08
  • 3 回答
  • 0 关注
  • 3893 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信