Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> MySql

क्या मैं MySQL प्रश्नों में उपयोग करने के लिए अपने स्वयं के MySQL फ़ंक्शन लिख सकता हूं?

<घंटा/>

हाँ, आप MySQL प्रश्नों में उपयोग करने के लिए स्वयं का MySQL फ़ंक्शन लिख सकते हैं। निम्नलिखित सिंटैक्स है:

DELIMITER // CREATE FUNCTION yourFunctionName(वैकल्पिक पैरामीटर)) आपके डेटा प्रकार को लौटाता हैDETERMINISTIC NO SQLBEGINyourStatements1....NEND//DELIMITER;

हमने कस्टम फ़ंक्शन बनाने के लिए उपरोक्त CREATE FUNCTION का उपयोग किया है।

आइए MySQL क्वेरी में उपयोग करने के लिए एक कस्टम MySQL फ़ंक्शन बनाएं:

mysql> DELIMITER //mysql> CREATE FUNCTION get_First_Name(Name VARCHAR(255)) RETURNSVARCHAR(255) DETERMINISTIC NO SQL BEGIN RETURN LEFT(Name,LOCATE(' ',Name)-1); END//क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.20 सेकंड)mysql> DELIMITER;

अब उपरोक्त फ़ंक्शन को SELECT स्टेटमेंट का उपयोग करके कॉल करें:

mysql> get_First_Name ('डेविड मिलर') चुनें;

यह निम्नलिखित आउटपुट उत्पन्न करेगा:

<पूर्व>+--------------------------------+| get_First_Name('डेविड मिलर') |+--------------------------------+| डेविड |+--------------------------------+1 पंक्ति सेट में, 2 चेतावनियां (0.00 सेकंड)
  1. क्या मैं MySQL में IF () के साथ SUM () का उपयोग कर सकता हूं?

    हां, आप MySQL में IF() के साथ SUM() का उपयोग कर सकते हैं। आइए पहले एक डेमो टेबल बनाएं: टेबल बनाएं DemoTable(Value int, Value2 int);क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.51 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालने के लिए क्वेरी निम्नलिखित है: डेमोटेबल मानों में डालें ( 400,100);क

  1. क्या हम MySQL में ORDER BY NULL का उपयोग कर सकते हैं?

    हाँ, हम ऐसा कर सकते हैं नोट - MySQL 5.7 से पहले, ORDER BY NULL उपयोगी था, लेकिन MySQL 8.0 के साथ, ORDER BY NULL को निर्दिष्ट करना, उदाहरण के लिए, अंत में निहित सॉर्टिंग को दबाने के लिए अब आवश्यक नहीं है। आइए पहले एक टेबल बनाएं - );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (1.01 सेकंड) इंसर्ट कमांड का उपय

  1. क्या हम MySQL WHERE क्लॉज में SUM () फ़ंक्शन के परिणाम का उपयोग कर सकते हैं?

    हम MySQL में WHERE के बजाय HAVING क्लॉज का उपयोग कर सकते हैं। आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable(Name varchar(50), Price int);query OK, 0 Rows प्रभावित (0.79 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - डेमोटेबल मानों में डालें (डेविड, 5); क्वेरी ठीक है, 1 पंक्ति प्रभ