📅  最后修改于: 2023-12-03 15:07:44.576000             🧑  作者: Mango
在 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()
函数,就可以轻松地从日期中提取出相应的月份和年份信息。