Scalar Functions: ucase(), lcase(), round(), mid()

Scalar functions એક વખતે એક value બદલે છે અને per row એક પરિણામ પાછું આપે છે, UCASE/LCASE અક્ષર case બદલે છે, ROUND એક number ને round કરે છે, અને MID/SUBSTRING એક text નો ભાગ કાઢે છે, aggregates થી ઊલટું જે ઘણી rows ને એકમાં કચડી નાખે છે.

9 min read · 9 cards · 2 checks

Read in: English · हिन्दी · ગુજરાતી


Theory

બદલો, summarise ન કરો

પાછલા lesson ની aggregates એ ઘણી rows ને એક number માં કચડી નાખી. Scalar functions ઊલટું કરે છે: એ એક વખતે એક value અડે છે અને per row એક પરિણામ પાછું આપે છે, દરેક row ને ઊભી રાખતા.

Meera એક printed list માટે item names CAPITALS માં માંગે છે, કે prices આખા રૂપિયા સુધી rounded, કે દરેક category ના બસ પહેલા ત્રણ અક્ષર એક code તરીકે. દરેક એક દરેક row ને અલગ-અલગ બદલે છે.

Scalar-વિરુદ્ધ-aggregate ભેદ નાનો છે પણ exam-મહત્વનો: શું function table ને summarise કરે છે, કે દરેક row ને transform? અહીં, transform.

Theory

એક સિક્કો વિરુદ્ધ એક juicer

પાછલા lesson નો aggregate એક juicer હતો: ઘણા સંતરા, એક ગ્લાસ. એક scalar function એક રબર સિક્કો છે: એ દરેક page પર એક વાર દબાય છે, દરેક page હજી મોજૂદ છે, દરેક બસ ચિહ્નિત. 500 item names પર UCASE ચલાવો અને તમને 500 uppercase names મળે છે, એક નહીં. Scalar = per row એક સિક્કો; aggregate = આખા ઢગલા માંથી એક રસ. એ જ input table, ઊલટો output આકાર.

At a glance

સામાન્ય scalar functions

Functionકરે છેઉદાહરણ પરિણામ
UCASE / UPPERUppercase માં'Sugar' થી 'SUGAR'
LCASE / LOWERLowercase માં'Sugar' થી 'sugar'
ROUND(n, d)એક number round કરવોROUND(58.7,0) = 59
MID / SUBSTRINGText નો ભાગ કાઢવોMID('Grocery',1,3) = 'Gro'
LENGTH / CONCATLength / text જોડવુંLENGTH('Tea') = 3

Practical

Transform each row

-- One result PER ROW: all 5 rows still returned
SELECT UCASE(item)          AS name,
       ROUND(price * 0.9, 0) AS discounted,
       MID(category, 1, 3)   AS code
FROM sales;
-- SUGAR | 41 | Gro
-- TEA   |108 | Bev
-- RICE  | 54 | Gro
-- SOAP  | 32 | Per
-- MILK  | 27 | Dai

Quiz

SELECT UCASE(item) FROM sales (5 rows) કેટલી rows પાછી આપે છે, અને SELECT COUNT(item) FROM sales કેટલી પાછી આપે છે?

  1. UCASE 5 rows પાછી આપે છે (per row એક); COUNT 1 row પાછી આપે છે (એક એકલો કુલ)
  2. બંને 1 row પાછી આપે છે
  3. બંને 5 rows પાછી આપે છે
  4. UCASE 1 પાછી આપે છે, COUNT 5
Show the answer

UCASE 5 rows પાછી આપે છે (per row એક); COUNT 1 row પાછી આપે છે (એક એકલો કુલ)

UCASE scalar છે: per row એક પરિણામ, તો બધી 5 rows પાછી આવે છે (દરેક name uppercase). COUNT aggregate છે: એ બધી rows ને 1 value માં સમેટે છે (ગણતરી). આ જ મૂળ વાત છે, scalar rows બચાવે છે, aggregate એમને કચડે છે. કયા functions શું કરે છે એ જાણવું બરાબર એ જ છે જે scalar-વિરુદ્ધ-aggregate exam સવાલ તપાસે છે.

Think first

એક category code બનાવો

Meera દરેક category માંથી એક 3-અક્ષર uppercase code માંગે છે (Grocery થી GRO). એ કઈ બે scalar functions જોડે છે, અને કયા ક્રમમાં?

Show the answer

MID/SUBSTRING (પહેલા 3 અક્ષર લેવા) અને UCASE (એમને uppercase કરવા) જોડો: UCASE(MID(category, 1, 3)), 'Gro' કાઢો, પછી uppercase કરીને 'GRO'. Functions nest થાય છે, અંદરની પહેલા ચાલે છે (કાઢવું), બહારની બીજી (uppercase), બરાબર Excel કે ગણિતમાં nesting ની જેમ. બંને scalar છે, તો દરેક row ને હજી પોતાનો code મળે છે.

Watch out

Marks ક્યાં કપાય છે

મુખ્ય ગૂંચવણ: scalar (per row એક પરિણામ, table રહે છે) વિરુદ્ધ aggregate (કુલ એક પરિણામ, rows સમેટાય છે), ભેદ સાફ વ્યાખ્યાયિત કરો. dialect નામો પર ધ્યાન: UCASE/UPPER અને LCASE/LOWER અલગ databases માં એ જ વસ્તુ છે; MID (Access/MySQL) અને SUBSTRING પણ એમ જ. અને ROUND નો બીજો argument decimal places નક્કી કરે છે (ROUND(n,0) = પૂર્ણ સંખ્યા). scalar-વિરુદ્ધ-aggregate રેખા સાચી કરવી એ આ lessons ની જોડીનો આખો હેતુ છે.

Theory

Excel, એક વાર વધુ

UPPER, LOWER, ROUND, MID, આ ખરેખર Excel ના text અને number functions છે (Unit 1 નો ROUND, Unit 2 ના helpers), હવે SQL માં. સ્થાનાંતરણ પૂરું છે: spreadsheets એ તમને functions શીખવ્યા; SQL એમને અસલી databases સુધી વધારે છે. બે lessons એ query વાર્તા બંધ કરી; બે subject બંધ કરવા બચે છે: sequences સ્વયંસંચાલિત ID numbers માટે, પછી views. આગળ: એક sequence બનાવવો.

Summary

Key takeaways

  • Scalar functions એક value બદલે છે અને per row એક પરિણામ પાછું આપે છે (table એની બધી rows રાખે છે).
  • આ aggregates થી ઊલટું છે, જે ઘણી rows ને એક value માં સમેટે છે.
  • UCASE/UPPER અને LCASE/LOWER case બદલે છે; ROUND(n,d) round કરે છે; MID/SUBSTRING text કાઢે છે.
  • ફક્ત scalars વાળો SELECT દરેક row પાછી આપે છે; aggregate વાળો SELECT એક પાછી આપે છે.
  • Functions nest થાય છે: અંદરની પહેલા ચાલે છે (UCASE(MID(category,1,3))).
  • યાદ રાખવાની યુક્તિ: scalar દરેક page પર એક સિક્કો છે; aggregate આખા ઢગલા માટે એક juicer.

Study this properly

This page is the lesson to read. In Gri-Learn the same topic is a graded deck: the self-checks are scored and your weak topics are tracked. Free to start.

Start this topic

Already have an account? Sign in

More from Concepts of SQL and Queries (Single Table only)

Gri-Learn · syllabus-mapped B.C.A. lessons in English, Hindi and Gujarati

Scalar Functions: ucase(), lcase(), round(), mid() · Data Processing and Analysis (DPA) · Gri-Learn