Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

सभी फ़ील्ड चुनें जिनमें केवल अपरकेस अक्षर हों

आप केस संवेदी collation का उपयोग करना चाह सकते हैं। . मेरा मानना ​​है कि डिफ़ॉल्ट केस असंवेदनशील है। उदाहरण:

CREATE TABLE my_table (
   id int,
   name varchar(50)
) CHARACTER SET latin1 COLLATE latin1_general_cs;

INSERT INTO my_table VALUES (1, 'SomeThing');
INSERT INTO my_table VALUES (2, 'something');
INSERT INTO my_table VALUES (3, 'SOMETHING');
INSERT INTO my_table VALUES (4, 'SOME4THING');

फिर:

SELECT * FROM my_table WHERE name REGEXP '^[A-Z]+$';
+------+-----------+
| id   | name      |
+------+-----------+
|    3 | SOMETHING |
+------+-----------+
1 row in set (0.00 sec)

यदि आप पूरी तालिका के लिए केस संवेदी संयोजन का उपयोग नहीं करना चाहते हैं, तो आप COLLATE खंड के रूप में @kchau ने दूसरे उत्तर में सुझाव दिया

आइए केस असंवेदनशील संयोजन का उपयोग करके तालिका के साथ प्रयास करें:

CREATE TABLE my_table (
   id int,
   name varchar(50)
) CHARACTER SET latin1 COLLATE latin1_general_ci;

INSERT INTO my_table VALUES (1, 'SomeThing');
INSERT INTO my_table VALUES (2, 'something');
INSERT INTO my_table VALUES (3, 'SOMETHING');
INSERT INTO my_table VALUES (4, 'SOME4THING');

यह बहुत अच्छा काम नहीं करेगा:

SELECT * FROM my_table WHERE name REGEXP '^[A-Z]+$';
+------+-----------+
| id   | name      |
+------+-----------+
|    1 | SomeThing |
|    2 | something |
|    3 | SOMETHING |
+------+-----------+
3 rows in set (0.00 sec)

लेकिन हम COLLATE . का उपयोग कर सकते हैं नाम फ़ील्ड को केस सेंसिटिव कॉलेशन से मिलाने के लिए क्लॉज:

SELECT * FROM my_table WHERE (name COLLATE latin1_general_cs) REGEXP '^[A-Z]+$';
+------+-----------+
| id   | name      |
+------+-----------+
|    3 | SOMETHING |
+------+-----------+
1 row in set (0.00 sec)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL/MariaDB:पिवट टेबल व्यू बनाएं

  2. PHP में mysql_insert_id () के बजाय MYSQL में SELECT MAX(id) का उपयोग करना कितना बुरा है?

  3. MySQL संग्रहीत कार्यविधि वापसी मान

  4. Php में MySQL की फॉरेन की एरर को कैसे हैंडल करें?

  5. मैसकल - प्रतिशत से सीमा?