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

MySQL WHERE क्लॉज में स्वचालित स्ट्रिंग से इंटीजर कास्टिंग करके विशिष्ट आईडी प्राप्त करना

MySQL में स्ट्रिंग से इंटीजर में स्वचालित प्रकार रूपांतरण

यदि स्ट्रिंग इंटीजर से शुरू होती है तो यह स्ट्रिंग को इंटीजर में बदल देता है, अन्यथा नहीं। पहले टेबल बनाएं:

mysql> create table DemoTable1390 ( StudentId varchar(20) ); Query OK, 0 rows affected (0.93 sec)

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

mysql> insert into DemoTable1390 values('563_John'); Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable1390 values('1001_Carol_Taylor'); Query OK, 1 row affected (0.08 sec)
mysql> insert into DemoTable1390 values('David_Miller_789'); Query OK, 1 row affected (0.07 sec)
mysql> insert into DemoTable1390 values('456_AdamSmith'); Query OK, 1 row affected (0.11 sec)

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

mysql> select * from DemoTable1390;

आउटपुट:

+-------------------+ | StudentId         | +-------------------+ | 563_John          | | 1001_Carol_Taylor | | David_Miller_789  | | 456_AdamSmith     | +-------------------+ 4 rows in set (0.00 sec)

WHERE क्लॉज में स्वचालित स्ट्रिंग से इंटीजर कास्टिंग करके विशिष्ट आईडी प्राप्त करने की क्वेरी:

mysql> select * from DemoTable1390 where StudentId=456;

परिणाम:

+---------------+ | StudentId     | +---------------+ | 456_AdamSmith | +---------------+ 1 row in set, 4 warnings (0.02 sec)

व्याख्या: MySQL संख्यात्मक संदर्भ में स्ट्रिंग की तुलना करते समय अग्रणी संख्यात्मक भाग को निकालता है। '456_AdamSmith' की तुलना 456 से करने पर, MySQL '456' निकालता है और तुलना करता है, इसलिए यह मेल खाता है। 'David_Miller_789' संख्या से शुरू नहीं होता, इसलिए यह 0 के रूप में मूल्यांकन होता है। चेतावनियां (4 warnings) असाइनमेंट के दौरान काटे गए गैर-संख्यात्मक भागों को इंगित करती हैं।

  1. - MySQL टेबल में विशिष्ट तारीख की घटनाओं की गिनती कैसे करें?

    MySQL में किसी DATE कॉलम में विशिष्ट तारीख की घटनाओं (occurrences) को गिनने के लिए, COUNT(*) के साथ WHERE date(column) = target_date का उपयोग करें। यह सरल, कुशल, और इंडेक्स-अनुकूल है। उदाहरण: 2019-12-11 तारीख की गिनती डेमो टेबल बनाएं: mysql> CREATE TABLE DemoTable1946 (ShippingDate DATE); डेट

  1. - MySQL REGEXP: विशिष्ट संख्या से शुरू होने वाले स्ट्रिंग+नंबर रिकॉर्ड प्राप्त करें

    REGEXP पैटर्न Select yourColumnName1, yourColumnName2 from yourTableName where yourColumnName2 REGEXP ^yourStringValue[yourNumericValue]; उदाहरण: John से शुरू और फिर 5 या 6 insert into demo45(value) values(John500), (John1500), (John5500), (John6500), (John8600); क्वेरी: ^John[56] select id,val

  1. - MySQL में FIND_IN_SET() से कॉमा-सेपरेटेड स्ट्रिंग कॉलम में मान खोजकर WHERE IN जैसा फ़िल्टर करें

    FIND_IN_SET() उपयोग 0; उदाहरण insert into demo81(username) values(John,Chris,David), (Mike,Sam), (Chris,Bob,Sam), (Mike,John,Chris); Chris खोजना 0; +----+------------------+ | id | username | +----+------------------+ | 1 | John,Chris,David | | 3 | Chris,Bob,Sam | | 4 | Mike,John