假设我正在尝试从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;
我对如何正确构建此查询感到茫然。
答案 0 :(得分:1)
我做了一些挖掘,并意识到正确的解决方案是使用.*(?<![a-zA-Z])1324.*
将任意部分添加到我的SQL查询中。
这里的解决方案是使用
sequelize.literal()