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

Literal karakter Unicode (heksadesimal) di MySQL

Anda dapat menentukan literal heksadesimal (atau bahkan literal biner ) menggunakan 0x , x'' , atau X'' :

select  0xC2A2;
select x'C2A2';
select X'C2A2';

Tapi berhati-hatilah bahwa tipe yang dikembalikan adalah string biner, sehingga setiap byte dianggap sebagai karakter. Anda dapat memverifikasi ini dengan char_length :

select char_length(0xC2A2)

Jika Anda ingin UTF-8 string sebagai gantinya, Anda perlu menggunakan convert :

select convert(0xC2A2 using utf8mb4)

Dan kita dapat melihat bahwa C2 A2 dianggap 1 karakter dalam UTF-8:

select char_length(convert(0xC2A2 using utf8mb4))

Juga, Anda tidak perlu khawatir tentang byte yang tidak valid karena convert akan menghapusnya secara otomatis:

select char_length(convert(0xC1A2 using utf8mb4))

Seperti yang dapat dilihat, outputnya adalah 0 karena C1 A2 adalah urutan byte UTF-8 yang tidak valid.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mysqldump diluncurkan oleh keamanan cron dan kata sandi

  2. Menangani integritas basis data

  3. Menggunakan Union All dan Order By di MySQL

  4. Kesalahan MySql:Tidak dapat memperbarui tabel dalam fungsi/pemicu tersimpan karena sudah digunakan oleh pernyataan yang memanggil fungsi/pemicu tersimpan ini

  5. ubah nama tabel menjadi huruf besar