我正在尝试从我的表中选择第5个月的所有数据 使用查询
SELECT cout.badgenumber,cout.Checktime FROM CHECKINOUT cout
inner join userinfo ui on(ui.userid=cout.userid)
WHERE cout.Checktime between #05/01/2017# and #05/31/2017#
and ui.badgenumber='1021'
和
SELECT cout.badgenumber,cout.Checktime FROM CHECKINOUT cout
inner join userinfo ui on(ui.userid=cout.userid)
WHERE cout.Checktime>#05/01/2017# and cout.Checktime<=#05/31/2017#
and ui.badgenumber='1021'
但两者都提供数据,不包括31
的数据当我尝试在日期之间使用32作为
SELECT cout.badgenumber,cout.Checktime FROM CHECKINOUT cout
inner join userinfo ui on(ui.userid=cout.userid)
WHERE cout.Checktime between #05/01/2017# and #05/32/2017#
and ui.badgenumber='1021'
日期查询表达式错误中的语法错误
答案 0 :(得分:0)
请尝试以下方法......
SELECT cout.badgenumber,
cout.Checktime
FROM CHECKINOUT cout
INNER JOIN userinfo ui ON ( ui.userid = cout.userid )
WHERE MONTH( cout.Checktime ) = 5
AND ui.badgenumber = '1021'
此答案使用MONTH()
函数从传递给它的日期中提取月份的数字表示,并将其与5
(May
的数字表示)进行比较。
有关MONTH()
功能的详细信息,请阅读https://support.office.com/en-us/article/Month-Function-78182042-7bf0-46e9-829e-c7012f773fc5。
如果您有任何问题或意见,请随时发表评论。