सिंगल-रो फ़ंक्शन क्या है?
फ़ंक्शन एक तैयार कमांड है जो मान (जिन्हें आर्ग्युमेंट कहते हैं) लेकर परिणाम लौटाता है। सिंगल-रो (स्केलर) फ़ंक्शन एक बार में एक पंक्ति पर चलता है और हर पंक्ति का एक परिणाम देता है। तालिका में 10 पंक्तियाँ हों तो SELECT UPPER(Name) FROM student; 10 उत्तर देगा।
(SUM जैसे समुच्चय फ़ंक्शन कई पंक्तियाँ मिलाकर एक उत्तर देते हैं; वे अगले पाठ में हैं।) बिना तालिका के भी आज़मा सकते हैं: SELECT POWER(2, 3);
गणितीय फ़ंक्शन: POWER, ROUND, MOD
| फ़ंक्शन | अर्थ | उदाहरण → आउटपुट |
|---|---|---|
POWER(x, y) या POW | x की घात y | POWER(2, 3) → 8 |
ROUND(x, d) | x को d दशमलव स्थान तक | ROUND(15.678, 2) → 15.68 |
ROUND(x) | पूर्ण संख्या तक | ROUND(15.678) → 16 |
ROUND(x, -1) | निकटतम दहाई तक | ROUND(15.678, -1) → 20 |
MOD(a, b) | a ÷ b का शेषफल | MOD(17, 5) → 2 |
ROUND अगला अंक देखता है: 5 या अधिक हो तो ऊपर। ऋणात्मक d दशमलव के बाईं ओर पूर्णांकित करता है (-1 → दहाई, -2 → सैकड़ा)।
टेक्स्ट फ़ंक्शन: UPPER, LOWER, LENGTH, LEFT, RIGHT, SUBSTR, INSTR, TRIM
| फ़ंक्शन | अर्थ | उदाहरण → आउटपुट |
|---|---|---|
UPPER(s) / UCASE | बड़े अक्षर | UPPER('asha') → ASHA |
LOWER(s) / LCASE | छोटे अक्षर | LOWER('INDIA') → india |
LENGTH(s) | अक्षरों की संख्या (स्पेस भी गिनें) | LENGTH('Informatics') → 11 |
LEFT(s, n) | शुरू के n अक्षर | LEFT('Informatics', 4) → Info |
RIGHT(s, n) | आख़िरी n अक्षर | RIGHT('Informatics', 3) → ics |
SUBSTR(s, start, n) / MID | स्थान start से n अक्षर | SUBSTR('Informatics', 3, 4) → form |
INSTR(s, sub) | sub पहली बार कहाँ शुरू (न मिले तो 0) | INSTR('Informatics', 'for') → 3 |
TRIM(s) | दोनों सिरों की स्पेस हटाए | TRIM(' IP ') → 'IP' |
LTRIM / RTRIM | सिर्फ़ बाईं / दाईं स्पेस | LTRIM(' IP ') → 'IP ' |
स्थान 1 से शुरू। n न दें तो SUBSTR अंत तक लेता है: SUBSTR('Informatics', 6) → 'matics'।
तारीख़ फ़ंक्शन: NOW, DATE, MONTH, MONTHNAME, YEAR, DAY, DAYNAME
MySQL तारीख़ 'YYYY-MM-DD' रूप में लिखता है।
| फ़ंक्शन | उदाहरण → आउटपुट |
|---|---|
NOW() | अभी की तारीख़ और समय, जैसे 2026-09-30 10:15:00 |
DATE(dt) | DATE('2026-09-30 10:15:00') → 2026-09-30 |
MONTH(d) | MONTH('2026-09-30') → 9 |
MONTHNAME(d) | MONTHNAME('2026-09-30') → September |
YEAR(d) | YEAR('2026-09-30') → 2026 |
DAY(d) | DAY('2026-09-30') → 30 |
DAYNAME(d) | DAYNAME('2026-09-30') → Wednesday |
NOW() हर बार बदलता है, इसलिए परीक्षा में अक्सर तय तारीख़ दी जाती है।
तालिका पर फ़ंक्शन लगाना
SELECT Name, UPPER(Name), LENGTH(Name) FROM student; SELECT Name, ROUND(Fee * 1.18, 2) AS FeeWithGST FROM student; SELECT * FROM student WHERE MONTHNAME(DOB) = 'August'; SELECT * FROM student WHERE MOD(Roll, 2) = 0; -- सम रोल नंबर SELECT Name FROM student ORDER BY LENGTH(Name);
AS आउटपुट स्तंभ को अच्छा नाम (उपनाम) देता है।
करके देखें: अपना नाम और जन्मदिन
कागज़ पर अपना पूरा नाम और जन्मतिथि लिखें। अनुमान लगाएँ: LENGTH(नाम), LEFT(नाम, 3), INSTR(नाम, 'a'), DAYNAME(जन्मतिथि), MONTHNAME(जन्मतिथि)। फिर MySQL या ऑनलाइन SQL प्लेग्राउंड में चलाएँ, जैसे SELECT DAYNAME('2009-08-15');। गिनें कितने अनुमान सही निकले। फिर 3D के कदम 6 में और आज़माएँ।
मुख्य सूत्र और परिभाषाएँ
- POWER(x, y) · ROUND(x, d) · MOD(a, b)
- UPPER/LOWER · LENGTH · LEFT(s, n) · RIGHT(s, n) · SUBSTR(s, start, n) · INSTR(s, sub) · TRIM/LTRIM/RTRIM
- NOW() · DATE() · MONTH() · MONTHNAME() · YEAR() · DAY() · DAYNAME()
- SQL में स्थान 1 से शुरू · न मिलने पर INSTR 0 देता है
हल किए गए उदाहरण
1. आउटपुट बताइए: SELECT POWER(5, 2), MOD(47, 10), ROUND(7.456, 1);
25, 7, 7.5।
2. आउटपुट बताइए: SELECT ROUND(2468.5), ROUND(2468.5, -2), ROUND(2468.537, 2);
2469 (0.5 ऊपर जाता है), 2500 (निकटतम सैकड़ा), 2468.54।
3. आउटपुट बताइए: SELECT SUBSTR('CodingMarble', 7, 6), INSTR('CodingMarble', 'Mar'), LENGTH('CodingMarble');
'Marble' (स्थान 7 से 6 अक्षर), 7, 12।
4. आउटपुट बताइए: SELECT LEFT('Informatics Practices', 11), RIGHT('Informatics Practices', 9), UPPER(LEFT('practices', 1));
'Informatics', 'Practices', 'P'।
5. तारीख़ '2026-01-26' के लिए MONTH, MONTHNAME, DAY, YEAR और DAYNAME निकालिए।
1, January, 26, 2026, Monday।
6. जिन छात्रों के नाम में 5 या अधिक अक्षर हैं, उनके नाम बड़े अक्षरों में दिखाने की क्वेरी लिखिए।
SELECT UPPER(Name) FROM student WHERE LENGTH(Name) >= 5;
7. SELECT LENGTH(TRIM(' Hi IP ')); का आउटपुट?
TRIM से 'Hi IP' (बीच की स्पेस रहती है)। LENGTH = 5।
आम गलतियाँ
- पाठ के स्थान 0 से गिनना; SQL में 1 से गिनते हैं, इसलिए SUBSTR('Hello', 1, 2) = 'He'।
- SUBSTR (पाठ का टुकड़ा देता है) और INSTR (स्थान की संख्या देता है) को मिला देना।
- सोचना कि TRIM बीच की स्पेस भी हटाता है; यह सिर्फ़ शुरू और अंत की स्पेस हटाता है।
- ROUND(15.678, 1) को 15.6 लिखना; अगला अंक 7 है, इसलिए 15.7 होगा।