Mysql
 sql >> база данни >  >> RDS >> Mysql

Какво точно означава набор от знаци и съпоставяне?

От MySQL docs :

набор от знаци е набор от символи и кодировки. Аколекция е набор от правила за сравняване на знаци в набор от знаци. Нека направим разграничението ясно с пример за въображаем набор от знаци.

Да предположим, че имаме азбука с четири букви:'A', 'B', 'a', 'b'. Дайте на всяка буква число:'A' =0, 'B' =1, 'a' =2, 'b' =3. Буквата 'A' е символ, числото 0 е кодирането на 'A' и комбинацията от четирите букви и техните кодировки е набор от знаци.

Сега да предположим, че искаме да сравним две стойности на низове, 'A' и 'B'. Най-простият начин да направите това е да разгледате кодировките:0 за 'A' и 1 за 'B'. Тъй като 0 е по-малко от 1, казваме, че "A" е по-малко от "B". Сега, това, което току-що направихме, е да приложим съпоставяне към нашия набор от знаци. Съпоставянето е набор от правила (само едно правило в този случай):„сравнете кодировките“. Ние наричаме това най-простото от всички възможни съпоставяния бинарно съпоставяне.

Но какво, ако искаме да кажем, че малките и главните букви са еквивалентни? Тогава ще имаме поне две правила:(1) да третираме малките букви 'a' и 'b' като еквивалентни на 'A' и 'B'; (2) след това сравнете кодировките. Ние наричаме това съпоставяне, нечувствително към acase. Това е малко по-сложно от двоично съпоставяне.

В реалния живот повечето набори от знаци имат много знаци:не само „A“ и „B“, но цели азбуки, понякога множество азбуки или източни писмени системи с хиляди знаци, заедно с много специални символи и препинателни знаци. Също така в реалния живот повечето съпоставяния имат много правила:не само нечувствителност към главни и малки букви, но също и нечувствителност към ударението („акцент“ е знак, прикрепен към символ като на немски „ö“) и съпоставяне на множество символи (като правилото, че 'ö' ='OE “ в едно от двете германски съчетания).



  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 10 (Част 1 – Инсталирайте MariaDB 5.5)

  2. Грешка в WordPress MySQL SQL заявка в клас WPDB

  3. Балансиране на натоварването на базата данни в облака - MySQL Master Failover с ProxySQL 2.0:Част първа (внедряване)

  4. Функция MySQL FLOOR() – закръгля надолу до най-близкото цяло число

  5. ГРЕШКА В MySQL 1045 (28000):Достъпът е отказан за потребител 'bill'@'localhost' (използвайки парола:ДА)