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

MySQL में VARCHAR स्ट्रिंग को DOUBLE/DECIMAL में परिवर्तित करना

MySQL में स्ट्रिंग (VARCHAR) कॉलम को संख्यात्मक प्रकार (DOUBLE, DECIMAL) में परिवर्तित करने के लिए अंकगणितीय संक्रिया (जैसे + 0.0) या CAST()/CONVERT() फ़ंक्शन्स का उपयोग करें।

सरल तरीका: अंकगणितीय संक्रिया

SELECT string_column + 0.0 AS numeric_column FROM table_name;

व्यावहारिक उदाहरण

1. टेबल बनाएं और स्ट्रिंग डेटा डालें

mysql> CREATE TABLE DemoTable731 (Value VARCHAR(100));
Query OK, 0 rows affected (0.50 sec)

mysql> INSERT INTO DemoTable731 VALUES ('4.50'), ('7.83'), ('8.91'), ('560.34');
Query OK, 4 rows affected (0.20 sec)

2. मूल डेटा (स्ट्रिंग)

mysql> SELECT * FROM DemoTable731;
+--------+
| Value  |
+--------+
| 4.50   |
| 7.83   |
| 8.91   |
| 560.34 |
+--------+
4 rows in set (0.00 sec)

3. + 0.0 के साथ परिवर्तित करें

mysql> SELECT Value + 0.0 AS demo FROM DemoTable731;
+-----------+
| demo      |
+-----------+
| 4.5       |
| 7.83      |
| 8.91      |
| 560.34    |
+-----------+
4 rows in set (0.28 sec)

अन्य परिवर्तन विधियाँ

CAST() फ़ंक्शन (मानक SQL)

SELECT CAST(Value AS DECIMAL(10,2)) FROM DemoTable731;
SELECT CAST(Value AS DOUBLE) FROM DemoTable731;

CONVERT() फ़ंक्शन

SELECT CONVERT(Value, DECIMAL(10,2)) FROM DemoTable731;

तुलना

विधिसिंटैक्सवापसी प्रकारनोट्स
+ 0.0col + 0.0DOUBLEसबसे छोटा, तेज़
CAST()CAST(col AS DECIMAL(10,2))निर्दिष्ट प्रकारमानक SQL, सटीकता नियंत्रण
CONVERT()CONVERT(col, DECIMAL(10,2))निर्दिष्ट प्रकारODBC सिंटैक्स भी समर्थित

व्यावहारिक उपयोग: कॉलम प्रकार स्थायी रूप से बदलें

-- 1. नया संख्यात्मक कॉलम जोड़ें
ALTER TABLE DemoTable731 ADD ValueNum DECIMAL(10,2);

-- 2. परिवर्तित करके भरें
UPDATE DemoTable731 SET ValueNum = Value + 0.0;

-- 3. सत्यापित करें
SELECT Value, ValueNum FROM DemoTable731;

-- 4. पुराना कॉलम हटाएं, नए का नाम बदलें
ALTER TABLE DemoTable731 DROP COLUMN Value;
ALTER TABLE DemoTable731 CHANGE ValueNum Value DECIMAL(10,2);

अमान्य डेटा संभालना

-- गैर-संख्यात्मक स्ट्रिंग्स के लिए सुरक्षित परिवर्तन
SELECT CASE 
    WHEN Value REGEXP '^[0-9]+(\.[0-9]+)?$' THEN CAST(Value AS DECIMAL(10,2))
    ELSE NULL
END AS safe_number FROM DemoTable731;

DECIMAL vs DOUBLE

  • DECIMAL(10,2) - सटीक निश्चित-बिंदु, वित्तीय डेटा के लिए
  • DOUBLE - फ्लोटिंग-पॉइंट, वैज्ञानिक गणना के लिए
  • पैसे के लिए हमेशा DECIMAL उपयोग करें
  1. - C++ में डबल को स्ट्रिंग में कैसे कन्वर्ट करें?

    C++ में std::to_string का उपयोग करके डबल को स्ट्रिंग में कन्वर्ट किया जा सकता है। आवश्यक पैरामीटर एक डबल मान है और एक स्ट्रिंग ऑब्जेक्ट लौटाया जाता है जिसमें डबल मान कैरेक्टर्स के अनुक्रम के रूप में होता है। C++ में इसे प्रदर्शित करने वाला एक प्रोग्राम निम्नलिखित है। उदाहरण #include <iostream>

  1. - Java में Double को String में बदलने के तरीके

    Java में Double मान को String में बदलने के लिए निम्नलिखित विधियाँ उपलब्ध हैं - Double क्लास की toString() विधि यह विधि वर्तमान Double ऑब्जेक्ट का स्ट्रिंग प्रारूप लौटाती है। Double मान को String में बदलने के लिए। आवश्यक प्रिमिटिव double मान को Double क्लास रेफरेंस वेरिएबल में पढ़ें (ऑटोबॉक्सिंग होत

  1. - Java में String को Double में कैसे बदलें?

    मान लीजिए निम्नलिखित हमारा स्ट्रिंग है: String str = 55.2; अब, ऊपर दिए गए स्ट्रिंग को parseDouble() का उपयोग करके Java में double में बदलें: double res = Double.parseDouble(23.6); उदाहरण Java में String को Double में बदलने का प्रोग्राम निम्नलिखित है: public class Demo { public static void main