Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

Oracle sql में सिंगल रो फंक्शन्स

यह Oracle SQL ट्यूटोरियल का हिस्सा है और इसके अच्छे उदाहरण हैं, Oracle Sql में सिंगल रो फ़ंक्शंस पर स्पष्टीकरण

फ़ंक्शन ऐसे प्रोग्राम होते हैं जो शून्य या अधिक तर्क लेते हैं और एक मान लौटाते हैं।

फंक्शन सिंगल रो, मल्टीपल रो फंक्शन हो सकते हैं

हम यहां SQL में सिंगल रो फंक्शन पर चर्चा करेंगे

Oracle SQL में सिंगल रो फंक्शन क्या है

एकल-पंक्ति फ़ंक्शन अंतर्निहित फ़ंक्शन हैं और इसमें वर्ण, संख्यात्मक, दिनांक, रूपांतरण और उपयोगकर्ता-परिभाषित फ़ंक्शन शामिल हैं।

सभी सिंगल रो फंक्शंस का इस्तेमाल SQL या PL/SQL प्रोग्राम्स में किया जा सकता है और SELECT, WHERE और ORDER BY क्लॉज में इस्तेमाल किया जा सकता है।

एकल-पंक्ति कार्यों में TO_CHAR, TO_DATE, UPPER, LOWER आदि शामिल हैं

सिंगल-रो फ़ंक्शंस का उपयोग SET क्लॉज और UPDATE कमांड में भी किया जा सकता है। एकल-पंक्ति फ़ंक्शन का उपयोग HAVING क्लॉज़ में नहीं किया जा सकता है।

आइए विभिन्न महत्वपूर्ण एकल पंक्ति कार्यों की जांच करें

चरित्र कार्यों में एसक्यूएल

वर्ण कार्य हैं:
LOWER('char')  :स्ट्रिंग को लोअरकेस में बदलें

SQL> select ename from  "EMP";

ENAME
----------
Blake
Clark
Scott

SQL> select lower(ename) from  "EMP";

LOWER(ENAM
----------
blake
clark
scott

UPPER('CHAR')  :स्ट्रिंग को अपर केस में बदलें

SQL> select upper(ename) from  "EMP";

UPPER(ENAM
----------
BLAKE
CLARK
SCOTT

INITCAP ('चार'):अपरकेस में प्रत्येक शब्द के पहले अक्षर के साथ एक स्ट्रिंग लौटाएं

SQL> select initcap(ename) from  "EMP";

INITCAP(EN
----------
Blake
Clark
Scott

CONCAT - फ़ंक्शन की दो पैरामीटर सीमा होती है।

SQL> select concat(ename,DEPTNO) from emp;

CONCAT(ENAME,DEPTNO)
--------------------------------------------------
Blake10
Clark10
Scott20

SQL> select concat(ename,empno,DEPTNO) from emp;
select concat(ename,empno,DEPTNO) from emp
       *
ERROR at line 1:
ORA-00909: invalid number of arguments

LENGTH:स्ट्रिंग की लंबाई लौटाएं

SQL> select ename,length(ename) from emp;

ENAME      LENGTH(ENAME)
---------- -------------
Blake                  5
Clark                  5
Scott                  5

LENGTHB:स्ट्रिंग की लंबाई बाइट्स में लौटाता है

SQL> select ename,length(ename),lengthb(ename) from emp;

ENAME      LENGTH(ENAME) LENGTHB(ENAME)
---------- ------------- --------------
Blake                  5              5
Clark                  5              5
Scott                  5              5

INSTR :एक स्ट्रिंग के भीतर खोजी गई स्ट्रिंग की अनुक्रमणिका देता है,

SQL>  select ename,instr(ename,'A') from emp;

ENAME      INSTR(ENAME,'A')
---------- ----------------
Blake                     0
Clark                     0
Scott                     0

SQL>  select ename,instr(ename,'a') from emp;

ENAME      INSTR(ENAME,'A')
---------- ----------------
Blake                     3
Clark                     3
Scott                     0

एलपीएडी:बायां पैड n वर्णों वाला एक स्ट्रिंग है

SQL>  select ename,lpad(ename,12) from emp;

ENAME      LPAD(ENAME,12)
---------- ------------------------------------
Blake             Blake
Clark             Clark
Scott             Scott

SQL> select ename,lpad(ename,12,'-') from emp;

ENAME      LPAD(ENAME,12,'-')
---------- ------------------------------------
Blake      -------Blake
Clark      -------Clark
Scott      -------Scott

LTRIM:एक स्ट्रिंग से प्रमुख वर्णों को अलग करें

SQL> select ltrim(' name') from dual;

LTRI
----
name

SQL> select ltrim(' name   ') from dual;

LTRIM('
-------
name

SQL> select  LTRIM('000123', '0') from dual;

LTR
---
123

SQL> select  LTRIM('1000123', '0') from dual;

LTRIM('
-------
1000123

बदलें:एक सबस्ट्रिंग खोज करें और बदलें

SELECT REPLACE('JACK and JUE','J','BL') "Changes"
     FROM DUAL;

Changes
--------------
BLACK and BLUE

SUBSTR - संख्यात्मक मानों में निर्दिष्ट स्ट्रिंग का एक भाग लौटाएं
SUBSTRB - केवल बाइट्स के साथ SUBSTR के समान
SOUNDEX - एक स्ट्रिंग का ध्वन्यात्मक प्रतिनिधित्व लौटाएं
अनुवाद करें - वर्ण खोज करें और बदलें
TRIM - स्ट्रिंग के अग्रणी और अनुगामी वर्ण

Examples

select emp_name, concat(emp_name,dept_name), length (ename),INSTR(ename, 'A') from dept;

select lower(emp_name) from employee;

select upper(first_name) from emp;

जैसा कि समझाया गया है, एकल पंक्ति फ़ंक्शन प्रत्येक पंक्तियों पर काम करता है

संबंधित: Oracle sql डिकोड प्रोसेसिंग

एसक्यूएल में संख्यात्मक कार्य

संख्या कार्य हैं:
दौर:एक संख्या के चारों ओर

SQL>  select round(3.456) from dual;

ROUND(3.456)
------------
           3

SQL> select round(3.456,2) from dual;

ROUND(3.456,2)
--------------
          3.46

TRUNC :एक संख्या को छोटा करता है
MOD:मापांक देता है। यानी शेष

SQL> select  mod(4,2) from dual;

  MOD(4,2)
----------
         0

SQL> select  mod(4,3) from dual;

  MOD(4,3)
----------
         1

साइन इन करें:वापसी सकारात्मक, नकारात्मक या शून्य
CEIL - अगली उच्च संख्या देता है

SQL> select  ceil(3.1) from dual;

 CEIL(3.1)
----------
         4

SQL> select  ceil(3) from dual;

   CEIL(3)
----------
         3

लॉग - लघुगणक लौटाएं
FLOOR - अगली छोटी संख्या लौटाएं

SQL> select  floor(3.1) from dual;

FLOOR(3.1)
----------
         3

SQL> select  floor(3) from dual;

  FLOOR(3)
----------
         3

SQRT - किसी संख्या का वर्गमूल लौटाएं

Examples

SELECT SQRT(25) "Square root" FROM DUAL;
SELECT order_total, CEIL(order_total) FROM orders WHERE order_id = 58758;

Oracle दिनांक कार्य

Oracle दिनांक कार्य हैं:
SYSDATE :वर्तमान तिथि लौटाएं
DUAL
MONTHS_BETWEEN (एक संख्या लौटाता है):दो तिथियों के बीच महीने की वापसी संख्या
ADD_MONTHS:इसमें कई महीने जोड़ें दिनांक
NEXT_DAY :सप्ताह के अगले दिन दी गई तारीख के बाद लौटाता है
LAST_DAY :महीने का अंतिम दिन लौटाता है


DBTIMEZONE - डेटाबेस का समय क्षेत्र लौटाएं
TRUNC:एक तारीख को छोटा करता है।
CURRENT_TIMESTAMP - TIMESTAMP प्रारूप में दिनांक और समय लौटाता है

Examples
SQL> select CURRENT_TIMESTAMP from dual;

CURRENT_TIMESTAMP
---------------------------------------------------------------------------
01-SEP-19 04.33.26.493097 PM +00:00

SQL> select sysdate from dual;

SYSDATE
---------------
01-SEP-19


स्पष्ट प्रकार के रूपांतरण कार्य

TO_CHAR -संख्या या दिनांक को VARCHAR2 में बदलता है
TO_NUMBER :वर्ण को संख्या में बदलें
TO_DATE:यह दिनांक में रूपांतरित होता है

Examples
SQL> select to_char(sysdate ,'DD-MON-YYYY,MI') from dual
  2  ;

TO_CHAR(SYSDATE,'DD-
--------------------
01-SEP-2019,34

अन्य कार्य

NVL (expr1, expr2) और NVL3
NVL - में दो तर्क दिए जाते हैं:NVL(x1, x2), x1 के NULL होने पर x2 लौटाता है या X1 के NULL नहीं होने पर X1 देता है। NVL2 - तीन तर्क लेता है:NVL2(x1, x2, x3), x3 देता है जब X1 NULL या x2 होता है जब X1 NULL नहीं होता है

DECODE यह फ़ंक्शन IF-THEN-ELSE या CASE स्टेटमेंट की तरह काम करता है।
COALESCE - सूची में पहला गैर-शून्य मान लौटाएं
SYS_CONTEXT - सिस्टम विशेषताएँ लौटाएं
UID - संख्यात्मक उपयोगकर्ता आईडी लौटाएं वर्तमान सत्र के लिए

एसक्यूएल में सिंगल रो फंक्शन के ज्ञान का परीक्षण करने के लिए छोटा क्विज

प्रश्न 1 :आप एक चयन कथन में एकल-पंक्ति फ़ंक्शन का उपयोग कर रहे हैं। किस फ़ंक्शन को फ़ंक्शन में समान रूप से एक if-then-else  कथन के रूप में वर्गीकृत किया जा सकता है?

A) sqrt( )
B) डिकोड( )
C) rowidtochar( )
D) new_time( )

व्याख्या:

डिकोड ( ) फ़ंक्शन आपके SQL स्टेटमेंट में if-then-else क्लॉज की तरह काम करता है। पसंद sqrt( ) गलत है क्योंकि sqrt( ) किसी संख्या का
वर्गमूल उत्पन्न करता है। पसंद new_time( ) गलत है क्योंकि new_time() फ़ंक्शन उस फ़ंक्शन के लिए कॉल में निर्दिष्ट मानों के आधार पर एक नया समय देता है।

अंत में, पसंद rowidtochar ( ) गलत है क्योंकि rowidtochar ( ) एक ऐसा फ़ंक्शन है जो ROWID जानकारी को CHAR जानकारी में परिवर्तित करता है।

प्रश्न 2:

आप अपने SQL कथनों में एकल-पंक्ति फ़ंक्शंस का उपयोग करना चाहते हैं। निम्नलिखित में से कौन से तीन संख्या फलन हैं? (चार में से तीन चुनें।)

A) sinh( )
B) sqrt( )
C) to_number( )
D) राउंड( )
स्पष्टीकरण:
इसमें एकमात्र गैर-संख्या फ़ंक्शन सूची to_number() फ़ंक्शन है,
जो एक रूपांतरण ऑपरेशन है।

प्रश्न 3 निम्न SQL कथन SQL*Plus सत्र से लिया गया था:
डिकोड का चयन करें(EMPNO, 74765, 'INACTIVE', 'ACTIVE') DEPT से empno
जहां सबस्ट्र (ENAME,1,1)> to_number ('V') और EMPNO> 1000
EMPNO desc, ENAME asc द्वारा आदेश;


पिछले कोड ब्लॉक में दिखाए गए सेलेक्ट स्टेटमेंट में निम्न में से किस लाइन में एरर है?

ए) डीकोड (ईएमपीएनओ, 58385, 'निष्क्रिय', 'सक्रिय') एम्पनो
बी) ईएमपी से चुनें
सी) और ईएमपीएनओ> 02000
D) जहां substr(ENAME,1,1 )> to_number('S')
E) EMPNO desc, ENAME asc द्वारा आदेश;

व्याख्या:(D)
वर्णमाला वाले वर्ण, जैसे S, को संख्याओं में परिवर्तित नहीं किया जा सकता है। जब यह कथन चलाया जाता है, तो यह इस लाइन पर एक त्रुटि उत्पन्न करेगा। इस क्वेरी में
अन्य पंक्तियाँ रचना के अनुसार सही हैं।

प्रश्न 4  'HelloWorld' स्ट्रिंग से कौन सा SELECT स्टेटमेंट 'एलोवर्ल्ड' परिणाम प्राप्त करेगा?
A. SUBSTR('HelloWorld',1) दोहरे से चुनें;
B. दोहरे से INITCAP (TRIM ('HelloWorld', 1,1)) चुनें;
C. ड्यूल से लोअर (सबस्ट्र ('हैलोवर्ल्ड', 1, 1) चुनें; एच' 'हैलोवर्ल्ड' से)) दोहरे से;
उत्तर:ई

आशा है कि आपको यह पोस्ट SQL में सिंगल रो फंक्शन्स पर पसंद आई होगी। कृपया फ़ीडबैक प्रदान करें

संबंधित लेख
ओरेकल में विश्लेषणात्मक कार्य:ओरेकल विश्लेषणात्मक कार्य ओरेकल क्लॉज द्वारा अधिक विभाजन का उपयोग करके पंक्तियों के समूह के आधार पर एक समग्र मूल्य की गणना करते हैं, वे कुल कार्यों से भिन्न होते हैं
ओरेकल में रैंक:रैंक, DENSE_RANK और ROW_NUMBER ओरेकल विश्लेषणात्मक हैं फ़ंक्शन जो पंक्तियों के समूह में पंक्तियों को रैंक करने के लिए उपयोग किया जाता है जिसे विंडो कहा जाता है
ओरेकल में लीड फ़ंक्शन:ओरेकल में एलएजी फ़ंक्शन और ओरेकल में लीड फ़ंक्शन देखें, विश्लेषणात्मक प्रश्नों में उनका उपयोग कैसे करें और यह ओरेकल एसक्यूएल में कैसे काम करता है
br/>Oracle में Top-N प्रश्न:Oracle में Top-N प्रश्नों को प्राप्त करने के विभिन्न तरीकों की खोज पर और oracle क्वेरी oracle डेटाबेस में पृष्ठांकन पर इस पृष्ठ को देखें।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle स्कीमा उपयोगकर्ता प्रक्रिया में तालिका नहीं बना सकता

  2. Oracle स्ट्रीम में लक्ष्य स्कीमा पर ड्रॉप टेबल को रोकना

  3. विंडोज़ पर Oracle 9i डेवलपर सूट 2.0 स्थापित करना

  4. System.Data.OracleClient को Oracle क्लाइंट सॉफ़्टवेयर संस्करण 8.1.7 या उच्चतर की आवश्यकता है

  5. Oracle डेटाबेस में PL/SQL पैकेज कैसे बनाएँ?