कॉलम डेटा को विभाजित करना

PostgreSQL डेटाबेस में डेटा क्लीनिंग

Darryl Reeves, Ph.D.

Industry Assistant Professor, New York University

कॉलम विभाजन

 camis    | inspection_date |                    violation                    | ... 
 ---------+-----------------+-------------------------------------------------+-----
 ...      | ...             | ...                                             | ...
 50038736 | 03/29/2018      | 09B Thawing procedures                          | ...
 50033304 | 12/18/2019      | 02B Hot food item not held at or above 140º ... | ...
 50081658 | 12/13/2018      | 06F Wiping cloths soiled or not stored in sa... | ...
 50033733 | 02/12/2019      | 10B Plumbing not properly installed or maint... | ...
 40559634 | 08/22/2017      | 04N Filth flies or food/refuse/sewage-associ... | ...
 ...      | ...             | ...                                             | ...
PostgreSQL डेटाबेस में डेटा क्लीनिंग

STRPOS() से सबस्ट्रिंग की शुरुआत ढूँढना

STRPOS(source_string, search_string)

उल्लंघन स्ट्रिंग "09B Thawing procedures" का एक डायग्राम। डायग्राम के नीचे इंडेक्स नंबर दिखते हैं: टेक्स्ट के 0 पर 1, पहले स्पेस पर 4, और स्ट्रिंग के अंत के s पर 22.

SELECT
  STRPOS('09B Thawing procedures', ' ');
4
PostgreSQL डेटाबेस में डेटा क्लीनिंग

STRPOS() से सबस्ट्रिंग की शुरुआत ढूँढना

उल्लंघन स्ट्रिंग "09B Thawing procedures" का एक डायग्राम। डायग्राम के नीचे इंडेक्स नंबर दिखते हैं: टेक्स्ट के 0 पर 1, पहले स्पेस पर 4, और स्ट्रिंग के अंत के s पर 22.

SELECT
  STRPOS('09B Thawing procedures', '?');
0
PostgreSQL डेटाबेस में डेटा क्लीनिंग

STRPOS() से सबस्ट्रिंग की शुरुआत ढूँढना

उल्लंघन स्ट्रिंग "09B Thawing procedures" का एक डायग्राम। डायग्राम के नीचे इंडेक्स नंबर दिखते हैं: टेक्स्ट के 0 पर 1, पहले स्पेस पर 4, और स्ट्रिंग के अंत के s पर 22.

SELECT
  STRPOS('09B Thawing procedures', ' ');
4
PostgreSQL डेटाबेस में डेटा क्लीनिंग

SUBSTRING() से सबस्ट्रिंग निकालना

SUBSTRING(source_string FROM start_pos FOR num_chars)

PostgreSQL डेटाबेस में डेटा क्लीनिंग

SUBSTRING() से सबस्ट्रिंग निकालना

SUBSTRING('Homerun' FROM 1 FOR 4)Home

उल्लंघन स्ट्रिंग "09B Thawing procedures" का एक डायग्राम। डायग्राम के नीचे इंडेक्स नंबर दिखते हैं: टेक्स्ट के 0 पर 1, पहले स्पेस पर 4, और स्ट्रिंग के अंत के s पर 22.

SELECT
  SUBSTRING(
      '09B Thawing procedures'
      FROM 1
      FOR STRPOS('09B Thawing procedures', ' ') - 1
  );
09B
PostgreSQL डेटाबेस में डेटा क्लीनिंग

SUBSTRING() से सबस्ट्रिंग निकालना

उल्लंघन स्ट्रिंग "09B Thawing procedures" का एक डायग्राम। एक जोड़ी नीले तीर दिखाते हैं कि उल्लंघन विवरण कहाँ है, जो स्ट्रिंग के इसी हिस्से में फैला है.

आवश्यकताएँ:

  • उल्लंघन विवरण की शुरुआत की पोजीशन
  • विवरण में अक्षरों की संख्या
SELECT
  STRPOS('09B Thawing procedures', ' ') + 1;
5
PostgreSQL डेटाबेस में डेटा क्लीनिंग

LENGTH() से स्ट्रिंग की लंबाई निकालना

उल्लंघन स्ट्रिंग "09B Thawing procedures" का एक डायग्राम। स्ट्रिंग के उल्लंघन विवरण हिस्से के ऊपर "number of characters?" लिखा है.

LENGTH(string)INTEGER

SELECT LENGTH('hello')
5
PostgreSQL डेटाबेस में डेटा क्लीनिंग

LENGTH() से स्ट्रिंग की लंबाई निकालना

LENGTH('09B Thawing procedures')22

STRPOS('09B Thawing procedures', ' ')4

LENGTH('09B Thawing procedures') - STRPOS('09B Thawing procedures', ' ')18

LENGTH('Thawing procedures')18

PostgreSQL डेटाबेस में डेटा क्लीनिंग

LENGTH() से स्ट्रिंग की लंबाई निकालना

SELECT 
    LENGTH('09B Thawing procedures') - 
    STRPOS('09B Thawing procedures', ' ');
18

उल्लंघन स्ट्रिंग "09B Thawing procedures" का एक डायग्राम। एक जोड़ी नीले तीर दिखाते हैं कि उल्लंघन विवरण कहाँ है, जो स्ट्रिंग के इसी हिस्से में फैला है.

PostgreSQL डेटाबेस में डेटा क्लीनिंग

सभी हिस्से जोड़ना

SELECT 
    SUBSTRING(
      '09B Thawing procedures'
      FROM
        STRPOS('09B Thawing procedures', ' ')
        + 1
      FOR
        LENGTH('09B Thawing procedures')
        - STRPOS('09B Thawing procedures', ' ')
    );
Thawing procedures
PostgreSQL डेटाबेस में डेटा क्लीनिंग

violation कॉलम को विभाजित करना

SELECT 
    camis, 
    inspection_date, 

    SUBSTRING(
      violation 
      FROM 1 
      FOR STRPOS(violation, ' ') - 1
    ) AS violation_code, 

    SUBSTRING(
      violation 
      FROM STRPOS(violation, ' ') + 1 
      FOR LENGTH(violation) - STRPOS(violation, ' ')
    ) AS violation_description 
FROM 
    restaurant_inspection;
PostgreSQL डेटाबेस में डेटा क्लीनिंग

violation कॉलम को विभाजित करना

 camis    | inspection_date |                    violation                    | ... 
 ---------+-----------------+-------------------------------------------------+-----
 ...      | ...             | ...                                             | ...
 50038736 | 03/29/2018      | 09B Thawing procedures                          | ...
 50033304 | 12/18/2019      | 02B Hot food item not held at or above 140º ... | ...
 50081658 | 12/13/2018      | 06F Wiping cloths soiled or not stored in sa... | ...
 50033733 | 02/12/2019      | 10B Plumbing not properly installed or maint... | ...
 40559634 | 08/22/2017      | 04N Filth flies or food/refuse/sewage-associ... | ...
 ...      | ...             | ...                                             | ...
PostgreSQL डेटाबेस में डेटा क्लीनिंग

violation कॉलम को विभाजित करना

 camis    | inspection_date | violation_code |            violation_description            | ... 
 ---------+-----------------+----------------+---------------------------------------------+-----
 ...      | ...             | ...            | ...                                         | ...
 50038736 | 03/29/2018      | 09B            | Thawing procedures                          | ...
 50033304 | 12/18/2019      | 02B            | Hot food item not held at or above 140º ... | ...
 50081658 | 12/13/2018      | 06F            | Wiping cloths soiled or not stored in sa... | ...
 50033733 | 02/12/2019      | 10B            | Plumbing not properly installed or maint... | ...
 40559634 | 08/22/2017      | 04N            | Filth flies or food/refuse/sewage-associ... | ...
 ...      | ...             | ...            | ...                                         | ...
PostgreSQL डेटाबेस में डेटा क्लीनिंग

अभ्यास करते हैं!

PostgreSQL डेटाबेस में डेटा क्लीनिंग

Preparing Video For Download...