Ivxn Asked: 2020-04-21 10:18:03 +0800 CST 2020-04-21 10:18:03 +0800 CST 2020-04-21 10:18:03 +0800 CST 查询按月和年搜索 772 我使用 VB.NET 和 SQL,如何通过 SQL 查询仅按年和月获取记录?由于正常查询通常是按年月日进行的,在这种情况下我想搜索'2016-10'的记录 mysql 3 Answers Voted Best Answer Alvaro Montoro 2020-04-21T10:32:43+08:002020-04-21T10:32:43+08:00 您必须将月份和年份与保存日期的列进行比较,如下所示: SELECT * FROM tabla WHERE MONTH(colfecha) = 10 AND YEAR(colfecha) = 2016 因此,使用 MONTH 函数可以获得月份,使用 YEAR 函数可以获得日期中的年份。所以你只需要与你想要的值进行比较(分别为 10 和 2016)。 Fernando M. Goycochea 2020-04-21T10:34:45+08:002020-04-21T10:34:45+08:00 在这种情况下sql,就条件where而言,= 您的句子将是这样的: SELECT * FROM COMISION where month='10' and year='2016' 否则你可以像这样使用日期范围BETWEEN: SELECT * FROM COMISION where (tu_campo_fecha) BETWEEN '2016-10-01' AND '2016-10-31' Rafael Castro 2020-01-18T13:09:28+08:002020-01-18T13:09:28+08:00 这本身很容易,如果您有一个日期类型字段,您可以像这样使用它: 您有一个日期类型字段,比如说一个 DATE() 类型字段。 CURDATE(),根据系统返回当天的日期。 我们将它们组合在 QUERY(查询)中,仅此而已。 进入示例:假设一个名为 employees 的表,一个名为 miCumple 的 DATE() 类型的字段,现在,他们要求我们做的是计算当月的生日,所以我们进行查询: select * from empleados where MONTH(miCumple) = MONTH(CURDATE()); 这就是全部,您可以将它传递给存储过程或像这样简单地启动它,因为从现在开始它就足以调用该函数并且在任何时候你想要你都会有这个月的生日男孩,我希望它可以帮助你...
您必须将月份和年份与保存日期的列进行比较,如下所示:
因此,使用 MONTH 函数可以获得月份,使用 YEAR 函数可以获得日期中的年份。所以你只需要与你想要的值进行比较(分别为 10 和 2016)。
在这种情况下
sql
,就条件where
而言,=
您的句子将是这样的:否则你可以像这样使用日期范围
BETWEEN
:这本身很容易,如果您有一个日期类型字段,您可以像这样使用它:
您有一个日期类型字段,比如说一个 DATE() 类型字段。
CURDATE(),根据系统返回当天的日期。
我们将它们组合在 QUERY(查询)中,仅此而已。
进入示例:假设一个名为 employees 的表,一个名为 miCumple 的 DATE() 类型的字段,现在,他们要求我们做的是计算当月的生日,所以我们进行查询:
这就是全部,您可以将它传递给存储过程或像这样简单地启动它,因为从现在开始它就足以调用该函数并且在任何时候你想要你都会有这个月的生日男孩,我希望它可以帮助你...