SQL Functions
- एसक्यूएल फंक्शन
एसक्यूएल (स्ट्रक्चर्ड क्वेरी लैंग्वेज) डेटाबेस प्रबंधन के लिए एक मानक भाषा है। इसका उपयोग डेटाबेस में डेटा को संग्रहीत, पुनर्प्राप्त, अद्यतन और प्रबंधित करने के लिए किया जाता है। एसक्यूएल फंक्शन डेटा पर विशिष्ट संचालन करने के लिए पूर्व-परिभाषित कोड के ब्लॉक होते हैं। वे जटिल कार्यों को सरल बनाने और कोड की पुन: प्रयोज्यता बढ़ाने में मदद करते हैं। यह लेख एसक्यूएल फंक्शन के बारे में शुरुआती लोगों के लिए एक विस्तृत मार्गदर्शिका है। हम विभिन्न प्रकार के फंक्शन, उनके उपयोग और उदाहरणों पर चर्चा करेंगे।
एसक्यूएल फंक्शन क्या हैं?
एसक्यूएल फंक्शन डेटा पर कुछ विशिष्ट कार्य करने के लिए उपयोग किए जाने वाले पूर्व-परिभाषित कोड के खंड होते हैं। ये फंक्शन इनपुट पैरामीटर लेते हैं, उन पर कुछ ऑपरेशन करते हैं और एक आउटपुट मान लौटाते हैं। फंक्शन का उपयोग डेटा को रूपांतरित करने, गणना करने, स्ट्रिंग को हेरफेर करने और अन्य सामान्य डेटाबेस कार्यों को करने के लिए किया जा सकता है।
फंक्शन का उपयोग करने के कई फायदे हैं:
- पुन: प्रयोज्यता: फंक्शन को कई बार विभिन्न क्वेरी में उपयोग किया जा सकता है, जिससे कोड दोहराव कम होता है।
- सरलता: फंक्शन जटिल कार्यों को सरल बनाने में मदद करते हैं, जिससे क्वेरी को समझना और बनाए रखना आसान हो जाता है।
- संगति: फंक्शन सुनिश्चित करते हैं कि समान ऑपरेशन हमेशा समान तरीके से किया जाए, जिससे डेटा में संगति बनी रहती है।
- मॉड्यूलरिटी: फंक्शन कोड को मॉड्यूलर बनाते हैं, जिससे इसे डिबग करना और संशोधित करना आसान हो जाता है।
एसक्यूएल फंक्शन के प्रकार
एसक्यूएल फंक्शन को मुख्य रूप से दो श्रेणियों में विभाजित किया जा सकता है:
1. अंतर्निहित फंक्शन (Built-in Functions): ये फंक्शन एसक्यूएल इंजन द्वारा प्रदान किए जाते हैं और सीधे उपयोग के लिए उपलब्ध होते हैं। 2. उपयोगकर्ता-परिभाषित फंक्शन (User-defined Functions): ये फंक्शन उपयोगकर्ताओं द्वारा बनाए जाते हैं ताकि विशिष्ट आवश्यकताओं को पूरा किया जा सके।
अंतर्निहित फंक्शन
अंतर्निहित फंक्शन को आगे विभिन्न श्रेणियों में विभाजित किया जा सकता है:
- एग्रीगेट फंक्शन (Aggregate Functions): ये फंक्शन डेटा के समूह पर संचालन करते हैं और एक एकल मान लौटाते हैं। उदाहरणों में `COUNT()`, `SUM()`, `AVG()`, `MIN()`, और `MAX()` शामिल हैं। उदाहरण के लिए, `SELECT COUNT(*) FROM employees;` कर्मचारियों की कुल संख्या गिनता है।
- स्केलर फंक्शन (Scalar Functions): ये फंक्शन एक एकल इनपुट मान लेते हैं और एक एकल आउटपुट मान लौटाते हैं। उदाहरणों में `UPPER()`, `LOWER()`, `SUBSTRING()`, `ROUND()`, और `SQRT()` शामिल हैं। उदाहरण के लिए, `SELECT UPPER(first_name) FROM employees;` सभी कर्मचारियों के पहले नाम को अपरकेस में बदलता है।
- स्ट्रिंग फंक्शन (String Functions): ये फंक्शन स्ट्रिंग डेटा पर संचालन करते हैं। उदाहरणों में `CONCAT()`, `LENGTH()`, `REPLACE()`, और `TRIM()` शामिल हैं। उदाहरण के लिए, `SELECT CONCAT(first_name, ' ', last_name) FROM employees;` कर्मचारियों के पहले और अंतिम नाम को जोड़कर पूरा नाम बनाता है।
- तिथि और समय फंक्शन (Date and Time Functions): ये फंक्शन तिथि और समय डेटा पर संचालन करते हैं। उदाहरणों में `NOW()`, `DATE()`, `YEAR()`, `MONTH()`, और `DAY()` शामिल हैं। उदाहरण के लिए, `SELECT YEAR(hire_date) FROM employees;` कर्मचारियों की भर्ती की वर्ष बताता है।
- गणितीय फंक्शन (Mathematical Functions): ये फंक्शन गणितीय संचालन करते हैं। उदाहरणों में `ABS()`, `CEIL()`, `FLOOR()`, और `POWER()` शामिल हैं। उदाहरण के लिए, `SELECT ABS(-10) FROM dual;` -10 का निरपेक्ष मान (absolute value) लौटाता है।
| फंक्शन | विवरण | उदाहरण | `COUNT()` | पंक्तियों की संख्या गिनता है | `SELECT COUNT(*) FROM customers;` | `SUM()` | मानों का योग करता है | `SELECT SUM(salary) FROM employees;` | `AVG()` | मानों का औसत निकालता है | `SELECT AVG(price) FROM products;` | `MIN()` | न्यूनतम मान लौटाता है | `SELECT MIN(age) FROM users;` | `MAX()` | अधिकतम मान लौटाता है | `SELECT MAX(score) FROM games;` | `UPPER()` | स्ट्रिंग को अपरकेस में बदलता है | `SELECT UPPER(name) FROM employees;` | `LOWER()` | स्ट्रिंग को लोअरकेस में बदलता है | `SELECT LOWER(city) FROM customers;` | `SUBSTRING()` | स्ट्रिंग का एक हिस्सा निकालता है | `SELECT SUBSTRING(product_name, 1, 5) FROM products;` | `ROUND()` | संख्या को निकटतम पूर्णांक तक पूर्णांकित करता है | `SELECT ROUND(price, 2) FROM products;` | `NOW()` | वर्तमान तिथि और समय लौटाता है | `SELECT NOW();` |
उपयोगकर्ता-परिभाषित फंक्शन
उपयोगकर्ता-परिभाषित फंक्शन उपयोगकर्ताओं द्वारा बनाए जाते हैं ताकि विशिष्ट आवश्यकताओं को पूरा किया जा सके। ये फंक्शन संग्रहीत प्रक्रिया (stored procedures) के समान होते हैं, लेकिन वे एक मान लौटाते हैं। उपयोगकर्ता-परिभाषित फंक्शन का उपयोग जटिल कार्यों को सरल बनाने और कोड की पुन: प्रयोज्यता बढ़ाने के लिए किया जा सकता है।
उपयोगकर्ता-परिभाषित फंक्शन बनाने के लिए, आपको `CREATE FUNCTION` स्टेटमेंट का उपयोग करना होगा। उदाहरण के लिए:
```sql CREATE FUNCTION calculate_discount (price DECIMAL(10, 2), discount_percentage DECIMAL(5, 2)) RETURNS DECIMAL(10, 2) BEGIN
DECLARE discount_amount DECIMAL(10, 2); SET discount_amount = price * (discount_percentage / 100); RETURN price - discount_amount;
END; ```
यह फंक्शन `price` और `discount_percentage` दो इनपुट पैरामीटर लेता है और छूट के बाद की कीमत लौटाता है।
उपयोगकर्ता-परिभाषित फंक्शन को कॉल करने के लिए, आपको फंक्शन के नाम और इनपुट पैरामीटर का उपयोग करना होगा। उदाहरण के लिए:
```sql SELECT calculate_discount(100.00, 10.00); ```
यह कॉल 100.00 की कीमत पर 10.00% की छूट के बाद की कीमत लौटाएगा, जो 90.00 है।
एसक्यूएल फंक्शन का उपयोग कैसे करें
एसक्यूएल फंक्शन का उपयोग `SELECT`, `INSERT`, `UPDATE`, और `DELETE` स्टेटमेंट में किया जा सकता है। फंक्शन को कॉल करने के लिए, आपको फंक्शन के नाम और इनपुट पैरामीटर का उपयोग करना होगा।
उदाहरण के लिए, `SELECT` स्टेटमेंट में फंक्शन का उपयोग करने का एक उदाहरण यहां दिया गया है:
```sql SELECT first_name, UPPER(last_name) AS uppercase_last_name FROM employees; ```
यह क्वेरी कर्मचारियों के पहले नाम और अपरकेस में अंतिम नाम का चयन करती है।
`INSERT` स्टेटमेंट में फंक्शन का उपयोग करने का एक उदाहरण यहां दिया गया है:
```sql INSERT INTO orders (order_date, customer_id, total_amount) VALUES (NOW(), 123, calculate_total_amount(45.00, 10.00)); ```
यह क्वेरी एक नया ऑर्डर सम्मिलित करती है जिसमें वर्तमान तिथि, ग्राहक आईडी 123, और `calculate_total_amount` फंक्शन द्वारा गणना की गई कुल राशि शामिल है।
`UPDATE` स्टेटमेंट में फंक्शन का उपयोग करने का एक उदाहरण यहां दिया गया है:
```sql UPDATE products SET price = calculate_discount(price, 5.00) WHERE category = 'Electronics'; ```
यह क्वेरी 'Electronics' श्रेणी के सभी उत्पादों की कीमत को 5.00% की छूट के साथ अपडेट करती है।
`DELETE` स्टेटमेंट में फंक्शन का उपयोग करने का एक उदाहरण यहां दिया गया है:
```sql DELETE FROM orders WHERE order_date < calculate_past_date(NOW(), 30); ```
यह क्वेरी 30 दिनों से पुराने सभी ऑर्डर को हटा देती है।
एसक्यूएल फंक्शन का उदाहरण
यहां कुछ सामान्य एसक्यूएल फंक्शन के उदाहरण दिए गए हैं:
- `COUNT()`: डेटाबेस तालिका में पंक्तियों की संख्या गिनता है।
- `SUM()`: डेटाबेस तालिका में एक कॉलम में मानों का योग करता है।
- `AVG()`: डेटाबेस तालिका में एक कॉलम में मानों का औसत निकालता है।
- `MAX()`: डेटाबेस तालिका में एक कॉलम में अधिकतम मान लौटाता है।
- `MIN()`: डेटाबेस तालिका में एक कॉलम में न्यूनतम मान लौटाता है।
- `UPPER()`: एक स्ट्रिंग को अपरकेस में बदलता है।
- `LOWER()`: एक स्ट्रिंग को लोअरकेस में बदलता है।
- `SUBSTRING()`: एक स्ट्रिंग से एक उपस्ट्रिंग निकालता है।
- `ROUND()`: एक संख्या को निकटतम पूर्णांक तक पूर्णांकित करता है।
- `NOW()`: वर्तमान तिथि और समय लौटाता है।
निष्कर्ष
एसक्यूएल फंक्शन डेटाबेस प्रबंधन के लिए एक शक्तिशाली उपकरण हैं। वे जटिल कार्यों को सरल बनाने, कोड की पुन: प्रयोज्यता बढ़ाने और डेटा में संगति बनाए रखने में मदद करते हैं। इस लेख में, हमने विभिन्न प्रकार के एसक्यूएल फंक्शन, उनके उपयोग और उदाहरणों पर चर्चा की है। एसक्यूएल फंक्शन को समझकर, आप अपने डेटाबेस अनुप्रयोगों को अधिक कुशल और प्रभावी बना सकते हैं।
डेटाबेस एसक्यूएल क्वेरी भाषा डेटा मॉडलिंग रिलेशनल डेटाबेस माइक्रोसॉफ्ट एसक्यूएल सर्वर पोस्टग्रेएसक्यूएल मायएसक्यूएल ओरेकल डेटाबेस एसक्यूएल इंजेक्शन एसक्यूएल ऑप्टिमाइजेशन डेटाबेस नॉर्मलाइजेशन ईआर डायग्राम ट्रांजैक्शन मैनेजमेंट स्टोर्ड प्रोसीजर ट्रिगर इंडेक्सिंग व्यू डेटा वेयरहाउसिंग बिग डेटा डेटा माइनिंग
संबंधित रणनीतियाँ, तकनीकी विश्लेषण और वॉल्यूम विश्लेषण के लिए लिंक:
मूविंग एवरेज आरएसआई (रिलेटिव स्ट्रेंथ इंडेक्स) एमएसीडी (मूविंग एवरेज कन्वर्जेंस डाइवर्जेंस) बोलिंगर बैंड्स फिबोनाची रिट्रेसमेंट कैंडलस्टिक पैटर्न वॉल्यूम प्रोफाइल ऑर्डर फ्लो टाइम एंड सेल्स मार्केट डेप्थ वॉल्यूम वेटेड एवरेज प्राइस (VWAP) एक्स्पोनेंशियल मूविंग एवरेज (EMA) सिम्पल मूविंग एवरेज (SMA) स्टोकेस्टिक ऑसिलेटर पिवट पॉइंट्स सपोर्ट और रेजिस्टेंस लेवल
अभी ट्रेडिंग शुरू करें
IQ Option पर रजिस्टर करें (न्यूनतम जमा $10) Pocket Option में खाता खोलें (न्यूनतम जमा $5)
हमारे समुदाय में शामिल हों
हमारे Telegram चैनल @strategybin से जुड़ें और प्राप्त करें: ✓ दैनिक ट्रेडिंग सिग्नल ✓ विशेष रणनीति विश्लेषण ✓ बाजार की प्रवृत्ति पर अलर्ट ✓ शुरुआती के लिए शिक्षण सामग्री

