📌  相关文章
📜  在 mysql sequelize 中从日期获取月份和年份 - SQL (1)

📅  最后修改于: 2023-12-03 15:07:44.576000             🧑  作者: Mango

在 MySQL Sequelize 中从日期获取月份和年份 - SQL

在 MySQL Sequelize 中获取日期的月份和年份非常简单。您可以使用内置的函数将日期转换为相应的月份和年份。

获取月份

要从日期中获取月份,可以使用MONTH()函数。该函数接受一个日期表达式作为参数,并返回从1到12的整数值,表示月份。

示例代码:

const { Op } = require("sequelize");
const db = require("../models");

db.orders.findAll({
  attributes: [
    [db.sequelize.fn("MONTH", db.sequelize.col("order_date")), "month"]
  ],
  where: {
    customer_id: {
      [Op.eq]: 123
    }
  },
  group: db.sequelize.fn("MONTH", db.sequelize.col("order_date")),
  raw: true
})
  .then((result) => {
    console.log(result);
  })
  .catch((err) => {
    console.log(err);
  });

以上代码将从orders表中获取用户123的所有订单,然后使用MONTH()函数将order_date列中的日期转换为月份。最后,使用group选项对结果进行分组,以便按月份进行汇总。

获取年份

要从日期中获取年份,可以使用YEAR()函数。该函数接受一个日期表达式作为参数,并返回表示年份的四位整数值。

示例代码:

const { Op } = require("sequelize");
const db = require("../models");

db.orders.findAll({
  attributes: [
    [db.sequelize.fn("YEAR", db.sequelize.col("order_date")), "year"]
  ],
  where: {
    customer_id: {
      [Op.eq]: 123
    }
  },
  group: db.sequelize.fn("YEAR", db.sequelize.col("order_date")),
  raw: true
})
  .then((result) => {
    console.log(result);
  })
  .catch((err) => {
    console.log(err);
  });

以上代码将从orders表中获取用户123的所有订单,然后使用YEAR()函数将order_date列中的日期转换为年份。最后,使用group选项对结果进行分组,以便按年份进行汇总。

总结

MySQL Sequelize 中获取日期的月份和年份是非常简单的。您只需要使用 MONTH()YEAR() 函数,就可以轻松地从日期中提取出相应的月份和年份信息。