sql - 比较没有当前月份的 SQL 日期

标签 sql ms-access date-math

我在 Access 中有一个表,其中包含字符串列和日期列。我想获取表中日期低于 2010 年 10 月 22 日(本月除外)的所有行。所以,我需要从 2010 年 9 月 30 日到 ... 的行

我绑了一些东西,但我发现它不对:

SELECT name FROM table WHERE YEAR(date)<=2010 AND MONTH(date)<10

但是这个解决方案并不好,我也没有其他想法。您能帮我提供一个通用的解决方案吗? 谢谢

最佳答案

一个月的第 0 天是上个月的最后一天:

DateSerial(Year(Date()),Month(Date()),0)

因此:

 SELECT [name] FROM [table] 
 WHERE [date]<=DateSerial(Year(Date()),Month(Date()),0)

关于sql - 比较没有当前月份的 SQL 日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3996898/

相关文章:

php - 如何将 48 小时添加到时间戳

sql - 查询嵌套查询结果中两列的位置

sql - 替代 DISTINCT 函数

sql - 如何在纯(即 ANSI)SQL 中执行 'grading'

c# - 如何从 C# 中的 Access 数据库检索列描述?

sql - 通过具有日期范围的 Access 查询来限制组

sql-server - 'Insert into linked table failed, RAISERROR could not locate entry for error x in sysmessages' 是什么意思?

javascript - 根据出生日期计算年龄(jQuery 或 PHP)[不基于用户输入]