अधिकांश प्रोग्रामिंग भाषाओं की तरह, SQL में डेटा प्रोसेसिंग के लिए फ़ंक्शन होते हैं। यह ध्यान देने योग्य है कि, SQL स्टेटमेंट के विपरीत, सभी प्रकार के DBMS के लिए फ़ंक्शन मानकीकृत नहीं होते हैं, अर्थात, डेटा पर समान ऑपरेशन करने के लिए, अलग-अलग DBMS के अपने स्वयं के फ़ंक्शन नाम होते हैं। इसका मतलब यह है कि एक DBMS में लिखा गया क्वेरी कोड दूसरे DBMS में काम नहीं कर सकता है, और इसे भविष्य में ध्यान में रखा जाना चाहिए। यह अधिकतर पाठ मानों को संसाधित करने, डेटा प्रकारों को परिवर्तित करने और तिथियों में हेरफेर करने के कार्यों पर लागू होता है।
अधिकांश DBMS फ़ंक्शन प्रकारों के एक मानक सेट का समर्थन करते हैं, अर्थात्:
MS Access में SQL कार्यान्वयन में टेक्स्ट प्रोसेसिंग के लिए निम्नलिखित कार्य हैं:
समारोह | विवरण |
---|---|
Left() | बाईं ओर से पाठ में वर्णों का चयन करता है |
Right() | दाईं ओर के पाठ में वर्णों का चयन करता है |
Mid() | पाठ के मध्य से वर्णों का चयन करता है |
UCase() | वर्णों को अपरकेस में परिवर्तित करता है |
LCase() | अक्षरों को लोअरकेस में परिवर्तित करता है |
LTrim() | पाठ के बाईं ओर के सभी रिक्त वर्ण हटा देता है |
RTrim() | पाठ के दाईं ओर के सभी रिक्त वर्ण हटा देता है |
Trim() | पाठ के दोनों ओर से सभी रिक्त वर्ण हटा देता है |
आइए UCase() फ़ंक्शन का उपयोग करके उत्पाद नामों को अपरकेस में बदलें:
Run SQLSELECT Product, UCase(Product) AS Product_UCase
FROM Sumproduct
आइए LEFT() फ़ंक्शन का उपयोग करके टेक्स्ट के पहले तीन वर्णों को अलग करें:
Run SQLSELECT Product, LEFT(Product, 3) AS Product_LEFT
FROM Sumproduct
संख्या प्रसंस्करण फ़ंक्शन संख्यात्मक डेटा पर गणितीय संचालन करने के लिए डिज़ाइन किए गए हैं। ये फ़ंक्शन बीजीय और ज्यामितीय गणनाओं के लिए डिज़ाइन किए गए हैं, इसलिए इनका उपयोग दिनांक और समय प्रसंस्करण फ़ंक्शन की तुलना में बहुत कम बार किया जाता है। हालाँकि, SQL के सभी संस्करणों में संख्यात्मक फ़ंक्शन सबसे अधिक मानकीकृत हैं। आइए संख्यात्मक कार्यों की सूची देखें:
समारोह | विवरण |
---|---|
SQR() | निर्दिष्ट संख्या का वर्गमूल लौटाता है |
ABS() | किसी संख्या का पूर्ण मान लौटाता है |
EXP() | निर्दिष्ट संख्या का घातांक लौटाता है |
SIN() | निर्दिष्ट कोण की ज्या लौटाता है |
COS() | निर्दिष्ट कोण की कोज्या लौटाता है |
TAN() | निर्दिष्ट कोण का स्पर्शरेखा लौटाता है |
हमने केवल कुछ मुख्य विशेषताओं को सूचीबद्ध किया है, लेकिन विस्तृत विवरण के साथ समर्थित सुविधाओं की पूरी सूची के लिए आप हमेशा अपने DBMS दस्तावेज़ का संदर्भ ले सकते हैं।
उदाहरण के लिए, आइए SQR() फ़ंक्शन का उपयोग करके राशि कॉलम में संख्याओं का वर्गमूल प्राप्त करने के लिए एक क्वेरी लिखें:
Run SQLSELECT Amount, SQR(Amount) AS Amount_SQR
FROM Sumproduct
दिनांक और समय हेरफेर फ़ंक्शन सबसे महत्वपूर्ण और अक्सर उपयोग किए जाने वाले SQL फ़ंक्शंस में से हैं। डेटाबेस में, दिनांक और समय मान एक विशेष प्रारूप में संग्रहीत होते हैं, इसलिए उन्हें अतिरिक्त प्रसंस्करण के बिना सीधे उपयोग नहीं किया जा सकता है। प्रत्येक डीबीएमएस के पास प्रसंस्करण तिथियों के लिए कार्यों का अपना सेट होता है, जो दुर्भाग्यवश, उन्हें अन्य प्लेटफार्मों और एसक्यूएल कार्यान्वयन में स्थानांतरित करने की अनुमति नहीं देता है।
MS Access में दिनांक और समय को संभालने के लिए कुछ कार्यों की सूची:
समारोह | विवरण |
---|---|
DatePart() | दिनांक का भाग लौटाता है: वर्ष, तिमाही, महीना, सप्ताह, दिन, घंटा, मिनट, दूसरा |
Year(), Month() | क्रमशः वर्ष और महीना लौटाता है |
Hour(), Minute(), Second() | निर्दिष्ट तिथि का घंटा, मिनट और सेकंड लौटाता है |
WeekdayName() | सप्ताह के दिन का नाम लौटाता है |
आइए एक उदाहरण देखें कि DatePart() फ़ंक्शन कैसे काम करता है:
SELECT Date1, DatePart("m", Date1) AS Month1
FROM Sumproduct
DatePart() फ़ंक्शन में एक अतिरिक्त पैरामीटर है जो हमें दिनांक का आवश्यक भाग प्रदर्शित करने की अनुमति देता है। उदाहरण में, हमने पैरामीटर "एम" के मान का उपयोग किया, जो महीने की संख्या प्रदर्शित करता है (उसी तरह, हम वर्ष प्रदर्शित कर सकते हैं - "yyyy", तिमाही - "q", दिन - "d", सप्ताह - "डब्ल्यू", घंटा - "एच" , मिनट - "एन", सेकंड - "एस", आदि)।
सांख्यिकीय फ़ंक्शन हमें नमूना लिए बिना तैयार डेटा प्राप्त करने में मदद करते हैं। इन फ़ंक्शंस के साथ SQL क्वेरीज़ का उपयोग अक्सर विभिन्न रिपोर्टों का विश्लेषण और निर्माण करने के लिए किया जाता है। ऐसे चयनों का एक उदाहरण हो सकता है: किसी तालिका में पंक्तियों की संख्या निर्धारित करना, किसी निश्चित फ़ील्ड के लिए मानों का योग प्राप्त करना, तालिका के निर्दिष्ट कॉलम में सबसे बड़े/सबसे छोटे या औसत मान की खोज करना। हम यह भी ध्यान देते हैं कि सांख्यिकीय कार्य लेखन में किसी विशेष परिवर्तन के बिना सभी DBMS द्वारा समर्थित हैं।
DBMS Access में सांख्यिकीय कार्यों की सूची:
समारोह | विवरण |
---|---|
COUNT() | किसी तालिका या स्तंभ में पंक्तियों की संख्या लौटाता है |
SUM() | किसी कॉलम में मानों का योग लौटाता है |
MIN() | किसी कॉलम में सबसे छोटा मान लौटाता है |
MAX() | किसी कॉलम में सबसे बड़ा मान लौटाता है |
AVG() | किसी कॉलम में औसत मान लौटाता है |
तालिका में सभी पंक्तियों की संख्या लौटाता है:
Run SQLSELECT COUNT(*) AS Count1
FROM Sumproduct
उत्पाद फ़ील्ड में सभी गैर-रिक्त पंक्तियों की संख्या लौटाता है:
SELECT COUNT(Product) AS Count2
FROM Sumproduct
हमने जानबूझकर दो प्रश्नों के बीच प्रदर्शन में अंतर दिखाने के लिए उत्पाद कॉलम में एक मान हटा दिया है।
Run SQLSELECT SUM(Quantity) AS Sum1
FROM Sumproduct
WHERE Month = 'April'
इस अनुरोध के साथ, हमने अप्रैल महीने में बेचे गए सामान की कुल मात्रा प्रदर्शित की।
Run SQLSELECT SUM(Quantity*Amount) AS Sum2
FROM Sumproduct
जैसा कि आप देख सकते हैं, सांख्यिकीय कार्यों में हम मानक गणितीय ऑपरेटरों का उपयोग करके कई स्तंभों पर गणना भी कर सकते हैं।
Run SQLSELECT MIN(Amount) AS Min1
FROM Sumproduct
Run SQLSELECT MAX(Amount) AS Max1
FROM Sumproduct
Run SQLSELECT AVG(Amount) AS Avg1
FROM Sumproduct