Mysql
 sql >> Baza danych >  >> RDS >> Mysql

utf8_bin kontra utf_unicode_ci

To zależy od tego, czego potrzebujesz.

utf8_bin porównywanie porównuje ciągi w oparciu wyłącznie o ich punkt kodowy Unicode wartości. Jeśli wszystkie punkty kodowe mają te same wartości, ciągi są równe. Jednak to się rozpada, gdy masz ciągi o różnym składzie do łączenia znaków (złożonych i rozłożonych) lub znaków, które są kanonicznie równoważne, ale nie mają tej samej wartości punktu kodowego. W niektórych przypadkach użycie utf8_bin spowoduje, że ciągi nie będą pasować, gdy tego oczekujesz. Teoretycznie utf8_bin jest najszybszy, ponieważ nie stosuje się normalizacji Unicode do ciągów, ale może nie być tym, czego chcesz.

utf8_general_ci stosuje normalizację Unicode przy użyciu reguł specyficznych dla języka i porównuje ciągi bez uwzględniania wielkości liter. utf8_general_cs robi to samo, ale porównuje ciągi z uwzględnieniem wielkości liter.



  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 TEXT vs BLOB vs CLOB

  2. przekonwertuj ciąg na datę php

  3. Zagnieżdżone komentarze w PHP i MySQL

  4. Jak sprawdzić, czy wartość ciągu w jednej kolumnie jest częściowo zawarta w wartości ciągu innej kolumny za pomocą SQL?

  5. Średnia na count() w tym samym zapytaniu