Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में अंकगणितीय गणना में NULL आर्गुमेंट होने पर परिणाम क्या होता है?

MySQL में किसी भी अंकगणितीय गणना में यदि एक आर्गुमेंट NULL है, तो परिणाम हमेशा NULL होता है। NULL "अज्ञात मान" दर्शाता है, और अज्ञात के साथ कोई भी गणना अज्ञात ही रहती है।

उदाहरण - विभिन्न ऑपरेशंस:

mysql> Select 10*NULL;
+---------+
| 10*NULL |
+---------+
| NULL    |
+---------+
1 row in set (0.12 sec)

mysql> Select 10+NULL;
+---------+
| 10+NULL |
+---------+
| NULL    |
+---------+
1 row in set (0.00 sec)

mysql> Select 10-NULL;
+---------+
| 10-NULL |
+---------+
| NULL    |
+---------+
1 row in set (0.07 sec)

mysql> Select 10/NULL;
+---------+
| 10/NULL |
+---------+
| NULL    |
+---------+
1 row in set (0.00 sec)

सभी अंकगणितीय ऑपरेटर प्रभावित:

ऑपरेशनउदाहरणपरिणाम
जोड़ (+)5 + NULLNULL
घटाव (-)5 - NULLNULL
गुणा (*)5 * NULLNULL
भाग (/)5 / NULLNULL
मॉड्यूलो (%)5 % NULLNULL
तुलना (=, <, >)5 = NULLNULL (TRUE/FALSE नहीं)

NULL हैंडलिंग समाधान:

-- NULL को 0 से बदलकर गणना
SELECT COALESCE(price, 0) * quantity FROM products;
SELECT IFNULL(price, 0) * quantity FROM products;  -- MySQL विशिष्ट

-- NULL-सेफ तुलना
SELECT * FROM products WHERE price <=> NULL;  -- NULL मान वाली पंक्तियां

एग्रीगेट फंक्शन व्यवहार:

  • SUM(), AVG(), MIN(), MAX() - NULL मानों को अनदेखा करते हैं
  • COUNT(*) - सभी पंक्तियां गिनता है (NULL सहित)
  • COUNT(col) - केवल नॉन-NULL मान गिनता है

याद रखें: NULL = NULL FALSE नहीं, NULL है। NULL <=> NULL TRUE है।

  1. - MySQL में एक बिट के लिए सबसे छोटा डेटा टाइप: BIT(1)

    MySQL में सिंगल बिट स्टोर करने के लिए BIT(1) डेटा टाइप बूलियन/फ्लैग मान (0 या 1) स्टोर करने के लिए सबसे कॉम्पैक्ट टाइप BIT(1) है, जो केवल 1 बिट उपयोग करता है (हालांकि डिस्क पर 1 बाइट में पैक होता है)। सिंटैक्स CREATE TABLE bitDemo ( isValid BIT(1) ); सत्यापन SHOW CREATE TABLE bitDemo; CREATE T

  1. - MySQL परिणाम में SHOW TABLES के लिए उपनाम (Alias) क्या है?

    MySQL में INFORMATION_SCHEMA.TABLES से तालिका नाम प्राप्त करते समय AS कीवर्ड का उपयोग करके आप परिणाम कॉलम को उपनाम (alias) दे सकते हैं। सिंटैक्स SELECT TABLE_NAME AS AnyAliasName FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = DATABASE(); उदाहरण: MY_TABLE_NAME उपनाम के साथ SELECT TABLE_NAME A

  1. - MySQL में != NULL और IS NOT NULL का अंतर

    NULL तुलना: != NULL बनाम IS NOT NULL MySQL में किसी मान की तुलना !=NULL से करने पर परिणाम NULL होता है, इसलिए !=NULL अर्थहीन है। सही तरीका IS NOT NULL है। टेबल बनाएं और डेटा डालें: mysql> create table DemoTable1970 ( Value int ); Query OK, 0 rows affected (0.00 sec) mysql> insert into DemoTabl