2016-04-12 7 views
5

मान लीजिए कि मैं user तालिका में रिकॉर्ड से YEAR_MONTH निकालने के लिए कोशिश कर रहा हूँ चलोSEQUELIZE: निकालें का उपयोग कैसे करें MySQL समारोह

मैं लिख सकते हैं:

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

मैं समझता हूँ कि कैसे लिखने के लिए संघर्ष कर रहा हूँ एक अनुक्रमिक क्वेरी जिसमें अधिक जटिल MySQL विधियां शामिल हैं।

मैं जानता हूँ कि मैं की तरह कुछ का उपयोग कर सकते हैं: सरल MySQL तरीकों कि केवल एक पैरामीटर लेने के लिए

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

यह सबसे करीब किया गया है मैं प्राप्त कर सकते हैं:

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

निम्नलिखित में से कौन एसक्यूएल में परिणाम:

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

रूप

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

मैं के रूप में एक नुकसान में हूँ करने का विरोध किया मैं इस क्वेरी को सही तरीके से कैसे बना सकता हूं।

उत्तर

1

मैंने कुछ और खुदाई की और महसूस किया कि सही समाधान मेरे SQL क्वेरी में मनमानी भागों को जोड़ने के लिए sequelize.literal() का उपयोग करना था।

यहाँ समाधान का उपयोग है

sequelize.literal('extract(YEAR_MONTH FROM `User`.`created_on`) AS created_year_month') 
संबंधित मुद्दे