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

MySQL में संख्याओं को VARCHAR फ़ील्ड में सेट करके तुलना कैसे करें? CAST का उपयोग

टेबल बनाएं

mysql> create table DemoTable (
    -> StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> StudentScore varchar(100)
    -> );
Query OK, 0 rows affected (0.66 sec)

रिकॉर्ड्स डालें

mysql> insert into DemoTable(StudentScore) values('90');
Query OK, 1 row affected (0.21 sec)
mysql> insert into DemoTable(StudentScore) values('100');
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable(StudentScore) values('56');
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable(StudentScore) values('98');
Query OK, 1 row affected (0.13 sec)

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

mysql> select * from DemoTable;
+-----------+--------------+
| StudentId | StudentScore |
+-----------+--------------+
| 1         | 90           |
| 2         | 100          |
| 3         | 56           |
| 4         | 98           |
+-----------+--------------+
4 rows in set (0.00 sec)

VARCHAR फ़ील्ड में तुलना करने का क्वेरी

mysql> select * from DemoTable where CAST(StudentScore AS SIGNED) > 91;

आउटपुट:

+-----------+--------------+
| StudentId | StudentScore |
+-----------+--------------+
| 2         | 100          |
| 4         | 98           |
+-----------+--------------+
2 rows in set (0.00 sec)

व्याख्या:

  • CAST(StudentScore AS SIGNED) - VARCHAR को हस्ताक्षरित पूर्णांक में बदलता है
  • इससे संख्यात्मक तुलना सही ढंग से काम करती है (स्ट्रिंग तुलना में '100' < '90' होता)
  • UNSIGNED का उपयोग गैर-ऋणात्मक संख्याओं के लिए करें

वैकल्पिक: StudentScore + 0 या StudentScore * 1 भी निहित रूपांतरण करता है।

  1. - MySQL में VARCHAR को DATETIME में कन्वर्ट करके तुलना करना

    परिचय जब डेटटाइम मान VARCHAR कॉलम में गैर-मानक फॉर्मेट (जैसे MM/DD/YYYY HH:MI:SS) में स्टोर होते हैं, तो STR_TO_DATE() फंक्शन का उपयोग करके उन्हें DATETIME में कन्वर्ट करके तुलना की जा सकती है। उदाहरण: टेबल बनाना और डेटा डालना ); Query OK, 0 rows affected (0.82 sec) INSERT INTO DemoTable1565 VAL

  1. - MySQL में स्ट्रिंग और संख्या वाले VARCHAR रिकॉर्ड को कैसे क्रमबद्ध करें?

    MySQL में अल्फान्यूमेरिक कोड (जैसे 100A, 101J) को संख्यात्मक भाग के अनुसार क्रमबद्ध करने के लिए ORDER BY column+0, column तकनीक का उपयोग करें। समस्या स्ट्रिंग क्रम: 100A, 100B, 101J, 101S, 103M (लेक्सिकोग्राफिक) वांछित क्रम: संख्यात्मक भाग पहले, फिर अक्षर उदाहरण mysql> CREATE TABLE DemoTable (S

  1. - MySQL में DOUBLE लंबाई लागू करें और सेट करें

    MySQL में DOUBLE लागू करने के लिए, सिंटैक्स निम्न है: create table yourTableName ( yourColumnName double(5,2) unsigned ); आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable1814 ( Amount double(5,2) unsigned ); Query OK, 0 rows affected (0.00 sec) इन्सर्ट कमांड का उपयोग करके टेबल म