SEQUELIZE:如何使用EXTRACT MySQL功能

时间:2016-04-12 16:15:12

标签: mysql sequelize.js

假设我正在尝试从YEAR_MONTH表中的记录中提取user

我可以写:

SELECT EXTRACT(YEAR_MONTH FROM u.created_on)
FROM user u;

我很难理解如何编写一个涉及更复杂的MySQL方法的续集查询。

我知道我可以使用类似的东西:

sequelize.fn('avg', sequelize.col('User.age')), 'avg_age']

对于只接受一个参数的简单MySQL方法。

这是我能得到的最接近的:

[sequelize.fn('extract', ['YEAR', 'FROM'],   
 sequelize.col('User.created_on')), 'created_year_month']

这导致以下SQL:

extract('YEAR_MONTH', 'FROM', `User`.`created_on`) AS `created_year_month`

而不是

SELECT EXTRACT(YEAR_MONTH FROM u.created_on)
FROM user u;

我对如何正确构建此查询感到茫然。

1 个答案:

答案 0 :(得分:1)

我做了一些挖掘,并意识到正确的解决方案是使用.*(?<![a-zA-Z])1324.* 将任意部分添加到我的SQL查询中。

这里的解决方案是使用

sequelize.literal()