Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Pilih SEMUA bidang yang hanya berisi huruf UPPERCASE

Anda mungkin ingin menggunakan kolasi yang peka terhadap huruf besar-kecil. . Saya percaya standarnya tidak peka huruf besar-kecil. Contoh:

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');

Kemudian:

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

Jika Anda tidak ingin menggunakan susunan peka huruf besar/kecil untuk seluruh tabel, Anda juga dapat menggunakan COLLATE klausa sebagai @kchau disarankan dalam jawaban lain .

Mari kita coba dengan tabel menggunakan susunan case-sensitive:

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');

Ini tidak akan bekerja dengan baik:

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

Tapi kita bisa menggunakan COLLATE klausa untuk menyusun bidang nama ke susunan peka huruf besar/kecil:

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. Arti n:m dan 1:n dalam desain database

  2. Menggunakan JQuery Untuk Memasukkan Nilai Ke mySQL

  3. Pengecualian classNotFound saat menggunakan JDBC untuk MYSQL di Tomcat di Eclipse

  4. Unggah File Java ke MySQL

  5. Apa satuan waktu dalam log kueri lambat MySQL?