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

MySQL में कॉलम मानों में सफ़िक्स मुद्रा चिह्न के साथ जोड़ कैसे करें?

MySQL में REPLACE() और SUM() का उपयोग करके मुद्रा चिह्न वाले मानों का योग करना

जब कॉलम में मुद्रा चिह्न (जैसे €, $, ₹) के साथ मान संग्रहीत हों, तो REPLACE() से चिह्न हटाकर SUM() से योग करें।

उदाहरण के साथ पूर्ण कार्यान्वयन

टेबल बनाना

mysql> CREATE TABLE DemoTable616 (Price VARCHAR(100));

रिकॉर्ड डालना (यूरो चिह्न के साथ)

mysql> INSERT INTO DemoTable616 VALUES('€200.00'), ('€300.00'), ('€500.00');

सभी रिकॉर्ड देखना

mysql> SELECT * FROM DemoTable616;

आउटपुट:

+-----------+
| Price     |
+-----------+
| €200.00   |
| €300.00   |
| €500.00   |
+-----------+
3 rows in set (0.00 sec)

मुद्रा चिह्न हटाकर योग करना

mysql> SELECT SUM(REPLACE(Price, '€', '')) AS Total_Price FROM DemoTable616;

आउटपुट:

+-------------+
| Total_Price |
+-------------+
| 1000        |
+-------------+
1 row in set (0.00 sec)

कैसे काम करता है:

  1. REPLACE(Price, '€', '') - प्रत्येक मान से '€' हटाता है → '200.00', '300.00', '500.00'
  2. MySQL स्वचालित रूप से स्ट्रिंग को संख्या में बदल देता है (संख्यात्मक संदर्भ में)
  3. SUM() - संख्यात्मक मानों का योग करता है

एकाधिक मुद्रा चिह्न संभालना

SELECT SUM(
    REPLACE(
        REPLACE(
            REPLACE(Price, '€', ''),
        '$', ''),
    '₹', '')
) AS Total_Price FROM DemoTable616;

REGEXP_REPLACE के साथ (MySQL 8.0+)

SELECT SUM(CAST(REGEXP_REPLACE(Price, '[^0-9.]', '') AS DECIMAL(10,2))) 
FROM DemoTable616;

यह सभी गैर-संख्यात्मक वर्ण (मुद्रा चिह्न, कॉमा, स्पेस) हटा देता है।

परिणाम में मुद्रा चिह्न जोड़ना

SELECT CONCAT('€', FORMAT(SUM(REPLACE(Price, '€', '')), 2)) AS Total_Price 
FROM DemoTable616;

आउटपुट: €1,000.00

बेहतर डिज़ाइन: संख्यात्मक कॉलम + अलग मुद्रा कॉलम

CREATE TABLE prices (
    amount DECIMAL(10,2) NOT NULL,
    currency CHAR(3) NOT NULL DEFAULT 'EUR',  -- ISO 4217 कोड
    CHECK (currency IN ('EUR', 'USD', 'INR', 'GBP'))
);

लाभ: गणना सीधी, इंडेक्स उपयोग योग्य, मुद्रा रूपांतरण आसान, डेटा अखंडता।

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

SELECT SUM(CAST(REPLACE(Price, '€', '') AS DECIMAL(10,2))) AS Total_Price 
FROM DemoTable616;

यह टाइप सुरक्षा सुनिश्चित करता है और अप्रत्यक्ष रूपांतरण चेतावनियों से बचाता है।

  1. PHP और MySQL में  बूलियन  मानों को कैसे संभालें? PHP और MySQL में 'बूलियन' मानों को कैसे संभालें?

    MySQL में बूलियन डेटा प्रकार समझना MySQL 8.0.12 में बूलियन मानों को संभालने के लिए आप BOOL, BOOLEAN या TINYINT(1) का उपयोग कर सकते हैं। जब आप BOOL या BOOLEAN का उपयोग करते हैं, तो MySQL आंतरिक रूप से इसे TINYINT(1) में परिवर्तित कर देता है। बूलियन लिटरल का प्रतिनिधित्व BOOL या BOOLEAN डेटा प्रकार

  1. - MySQL में महीने के अनुसार टेबल में मानों का योग कैसे करें

    EXTRACT(MONTH FROM ...) और GROUP BY के साथ मासिक योग इसके लिए EXTRACT() का उपयोग करें, जो विशिष्ट महीने के रिकॉर्ड निकालने की अनुमति देता है। उदाहरण के लिए, जनवरी में सभी कीमतों को जोड़ना (वर्ष की परवाह किए बिना)। पहले टेबल बनाएं: create table DemoTable1415 ( ProductPurchaseDate date, ProductPrice

  1. - MySQL में 0 या 1 मान वाले कॉलम के लिए शर्तें सेट करें

    शर्तें सेट करने के लिए MySQL में CASE WHEN स्टेटमेंट का उपयोग करें। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable -> ( -> Value1 int, -> Value2 int, -> Value3 int, -> Value4 int -> ); Query OK, 0 rows affected (0.98 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉ