मिसिंग डेटा ढूँढना और ठीक करना

इंटरमीडिएट SQL Server

Ginger Grant

Instructor

मिसिंग वैल्यू पहचानना

  • जब डेटा नहीं होता, तो खाली डेटाबेस फ़ील्ड में NULL होता है

  • चूँकि NULL कोई संख्या नहीं है, मिसिंग वैल्यू ढूँढने या तुलना करने के लिए =, <, या > का उपयोग नहीं कर सकते

  • जाँचने के लिए कि किसी कॉलम में NULL है या नहीं, IS NULL और IS NOT NULL का उपयोग करें

इंटरमीडिएट SQL Server

T-SQL में बिना NULL वाली पंक्तियाँ लौटाना

SELECT Country, InternetUse, Year
FROM EconomicIndicators
WHERE InternetUse IS NOT NULL 
+-------------------+-------------------+------------+
|Country            |InternetUse        |Year        |
|-------------------+-------------------+------------+
|Afghanistan        |4.58066992         |2011        |
|Albania            |49                 |2011        |
|Algeria            |14                 |2011        |
....
+-------------------+-------------------+------------+
इंटरमीडिएट SQL Server

T-SQL में NULLs पहचानना

SELECT  Country, InternetUse, Year
FROM EconomicIndicators
WHERE InternetUse IS NULL 
+-------------------+-------------------+------------+
|Country            |InternetUse        |Year        |
|-------------------+-------------------+------------+
|Angola             |NULL               |2013        |
|Argentina          |NULL               |2013        |
|Armenia            |NULL               |2013        |
....
+-------------------+-------------------+------------+
इंटरमीडिएट SQL Server

Blank, NULL नहीं है

  • खाली मान, NULL के समान नहीं है
  • यह टेक्स्ट वाले कॉलम में दिख सकता है
  • खाली वैल्यू ढूँढने के लिए खाली स्ट्रिंग '' का उपयोग कर सकते हैं
  • बेहतर तरीका है ऐसे कॉलम ढूँढना जहाँ Length या LEN > 0 हो
इंटरमीडिएट SQL Server

Blank, NULL नहीं है

SELECT Country, GDP, Year
FROM EconomicIndicators
WHERE LEN(GDP) > 0
+-------------------+-------------------+------------+
|Country            |GDP                |Year        |
|-------------------+-------------------+------------+
|Afghanistan        |54852215624        |2011        |
|Albania            |29334492905        |2011        |
|Algeria            |453558093404       |2011        |
....
+-------------------+-------------------+------------+
इंटरमीडिएट SQL Server

ISNULL से मिसिंग डेटा को किसी तय मान से बदलना

SELECT GDP, Country, 
ISNULL(Country, 'Unknown') AS NewCountry
FROM EconomicIndicators
+-------------------+----------------+----------------+
|GDP                |Country         |NewCountry      |
|-------------------+----------------+----------------+
|5867920022         |NULL            |Unknown         |
|597873038497       |South Africa    |South Africa    |  
|1474091271101      |NULL            |Unknown         |
...
+-------------------+----------------+----------------+
इंटरमीडिएट SQL Server

ISNULL से कॉलम वैल्यू से मिसिंग डेटा बदलना

/*Substituting values from one column for another with ISNULL*/
SELECT TradeGDPPercent, ImportGoodPercent,
ISNULL(TradeGDPPercent, ImportGoodPercent) AS NewPercent
FROM EconomicIndicators
+-------------------+------------------+----------------+
|TradeGDPPercent    |ImportGoodPercent |NewPercent      |
|-------------------+------------------+----------------+
|NULL               |56.7              |56.7            |
|52.18720739        |51.75273421       |52.18720739     |  
|NULL               |NULL              |NULL            |
...
+-------------------+------------------+----------------+
इंटरमीडिएट SQL Server

COALESCE से NULL वैल्यू बदलना

COALESCE पहला non-missing मान लौटाता है

COALESCE( value_1, value_2, value_3, ... value_n )
  • यदि value_1 NULL है और value_2 NULL नहीं है, तो value_2 लौटाएँ
  • यदि value_1 और value_2 NULL हैं और value_3 NULL नहीं है, तो value_3 लौटाएँ
  • ...
इंटरमीडिएट SQL Server

COALESCE का उपयोग करती SQL स्टेटमेंट

SELECT TradeGDPPercent, ImportGoodPercent,
COALESCE(TradeGDPPercent, ImportGoodPercent, 'N/A') AS NewPercent
FROM EconomicIndicators
+-------------------+--------------------+---------------+
|TradeGDPPercent    |ImportGoodPercent   |NewPercent     |
|-------------------+--------------------+---------------+
|NULL               |56.7                |56.7           |
|NULL               |NULL                |N/A            |
|52.18720739        |51.75273421         |52.18720739    |
+-------------------+--------------------+---------------+
इंटरमीडिएट SQL Server

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

इंटरमीडिएट SQL Server

Preparing Video For Download...