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

W MySQL funkcja CHAR() działa dziwnie

Przed MySQL 8.0.19 problem, z którym się zmagasz, nie istniał. binary-as-hex opcja klienta jest domyślnie włączona w MySQL 8.0.19.

Uruchom status lub \s w MySQL. Zauważysz linię dotyczącą danych binarnych. Jeśli jest wymieniony jako szesnastkowy, wyjścia funkcji takich jak CHAR() i UNHEX() zostanie wyświetlony w postaci szesnastkowej zamiast normalnego tekstu.

Aby tego uniknąć, możesz użyć klauzuli USING charset funkcji CHAR() .

mysql> SELECT CHAR(97);
+--------------------+
| CHAR(97)           |
+--------------------+
| 0x61               |
+--------------------+
1 row in set (0.00 sec)

mysql> SELECT CHAR(97 USING utf8mb4);
+------------------------+
| CHAR(97 USING utf8mb4) |
+------------------------+
| a                      |
+------------------------+
1 row in set (0.00 sec)

Lub możesz użyć --skip-binary-as-hex . W systemie Windows należy wykonać następujące czynności:

  1. Otwórz wiersz polecenia.

  2. Zmień katalog. W moim przypadku polecenie brzmiało:

    cd "C:\Program Files\MySQL\MySQL Server 8.0\bin"
    
  3. Uruchom

    mysql -u root -p --skip-binary-as-hex
    
  4. Wprowadź hasło.

  5. Teraz dane wyjściowe CHAR() funkcja będzie taka, jakiej oczekujesz.

Uwaga :--skip-binary-as-hex metoda działa, dopóki nie wyjdziesz z MySQL. Musisz użyć --skip-binary-as-hex za każdym razem, gdy otworzysz MySQL, tak że wartości szesnastkowe nie będą wyświetlane.

Możesz skorzystać z tych linków, aby uzyskać więcej informacji:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Najszybszy sposób na usunięcie ogromnej tabeli MySQL

  2. Inżynieria wsteczna bazy danych MySQL przy użyciu MySQL Workbench

  3. Chcę skopiować tabelę zawartą z jednej bazy danych i wstawić do innej tabeli bazy danych

  4. jak przenieść dane mysql do ElasticSearch w czasie rzeczywistym

  5. Ikona WAMP Server V 2.5 jest pomarańczowa, nie odpowiada i nie ma menu