sql >> Database >  >> RDS >> Mysql

Hoe kan ik zoeken naar tekst die emoji's bevat?

Ik heb een situatie gehad waarin db-migratie van de ene server naar de andere ervoor zorgde dat emoji verdween. Dus ik moest alle rijen in de originele tabel vinden die hoge utf8-tekens (emoji) bevatten.

Deze zoekopdracht werkte zoals verwacht:

SELECT field FROM `table` WHERE HEX(field) RLIKE "^(..)*F.";

controleer voordat u iets doet of u utf8mb4 gebruikt op uw db, tabellen EN verbinding:

SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%';

+--------------------------+--------------------+
| Variable_name            | Value              |
+--------------------------+--------------------+
| character_set_client     | utf8mb4            |
| character_set_connection | utf8mb4            |
| character_set_database   | utf8mb4            |
| character_set_filesystem | binary             |
| character_set_results    | utf8mb4            |
| character_set_server     | utf8mb4            |
| character_set_system     | utf8               |
| collation_connection     | utf8mb4_unicode_ci |
| collation_database       | utf8mb4_unicode_ci |
| collation_server         | utf8mb4_unicode_ci |
+--------------------------+--------------------+


  1. Laravel 4 kan geen hele RAW-query's uitvoeren

  2. MySQL Select-query om recordbasis op te halen op lijstwaarden

  3. SQRT() Functie in Oracle

  4. Hoe een externe sleutelbeperking te maken met ON DELETE SET NULL-optie in SQL Server - SQL Server / TSQL-zelfstudie deel 81