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

MySQL में इन्सर्ट करते समय पॉजिटिव मान को नेगेटिव में बदलें

INSERT ... SELECT में अंकगणितीय ऑपरेशन

एक टेबल से डेटा पढ़कर दूसरे टेबल में डालते समय मान को नेगेटिव बनाने के लिए -1 * से गुणा करें।

स्रोत टेबल

mysql> create table recordsDemo (UserId int, Value int);
mysql> INSERT INTO recordsDemo VALUES (1,10), (3,598), (5,786), (7,189), (9,345);
+--------+-------+
| UserId | Value |
+--------+-------+
| 1      | 10    |
| 3      | 598   |
| 5      | 786   |
| 7      | 189   |
| 9      | 345   |
+--------+-------+

लक्ष्य टेबल बनाना

mysql> create table PositiveToNegativeValueDemo (
    -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> Money int
    -> );

इन्सर्ट करते समय नेगेटिव करना

mysql> INSERT INTO PositiveToNegativeValueDemo (Id, Money)
    -> SELECT UserId, (-1 * Value) FROM recordsDemo;
Query OK, 5 rows affected (0.15 sec)

परिणाम

+------+-------+
| Id   | Money |
+------+-------+
| 1    | -10   |
| 3    | -598  |
| 5    | -786  |
| 7    | -189  |
| 9    | -345  |
+------+-------+

वैकल्पिक तरीके

  • SELECT UserId, -Value FROM recordsDemo (यूनरी माइनस)
  • SELECT UserId, 0 - Value FROM recordsDemo
  • SELECT UserId, Value * -1 FROM recordsDemo

उपयोग के मामले

  • लेखांकन: खर्च/डेबिट को नेगेटिव स्टोर करना
  • तापमान अंतर
  • कोऑर्डिनेट दिशा बदलना
  1. - MySQL में SOUNDEX() फ़ंक्शन का उपयोग कैसे करें?

    MySQL में SOUNDEX() फ़ंक्शन समान उच्चारण वाले शब्दों को खोजने के लिए साउंडेक्स कोड लौटाता है। सिंटैक्स SELECT * FROM yourTableName WHERE SOUNDEX(yourValue) = SOUNDEX(yourColumnName); टेबल निर्माण mysql> CREATE TABLE DemoTable ( Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, FirstName VARC

  1. - MySQL में IFNULL() से NULL मान को 0 में बदलना

    MySQL में NULL मानों को डिफ़ॉल्ट मान (जैसे 0) से बदलने के लिए IFNULL() फ़ंक्शन का उपयोग किया जाता है। यह गणनाओं और रिपोर्टिंग में NULL-संबंधी समस्याओं से बचाता है। उदाहरण के लिए टेबल बनाना mysql> CREATE TABLE DemoTable ( Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, Value INT ); डेटा डालन

  1. - MySQL में पहले नकारात्मक मानों को अवरोही क्रम में और फिर सकारात्मक मानों को आरोही क्रम में ऑर्डर करना

    इसके लिए UNION का उपयोग कर सकते हैं। उदाहरण टेबल बनाएं: mysql> create table DemoTable ( -> Number int -> ); Query OK, 0 rows affected (1.17 sec) रिकॉर्ड डालें: mysql> insert into DemoTable values(10); Query OK, 1 row affected (0.23 sec) mysql> insert into DemoTable values(10