-- MySQL 8.4 `=` and `LIKE` divergence verification for the EastBraver Labs article.
-- Run with a client configured for utf8mb4 and preserve the output as evidence.
-- This standalone SQL reports mismatches but does not make the client exit nonzero.
-- Use apps/web/scripts/verify-mysql-collation.mjs for a strict automated gate.
--
-- Scope of this script:
-- 1. Expression level: `=` plus four `LIKE` forms (exact, reversed, prefix, middle).
-- 2. Wildcard level: `_` counts code points, not rendered characters.
-- 3. Column level: the same `LIKE` with and without an index on a real column.
--
-- Section 3 creates temporary tables only. It does not touch persistent schema.
SET NAMES utf8mb4 COLLATE utf8mb4_0900_ai_ci;
SELECT
VERSION() AS mysql_version,
@@version_comment AS version_comment,
@@sql_mode AS sql_mode,
@@character_set_client AS character_set_client,
@@character_set_connection AS character_set_connection,
@@character_set_results AS character_set_results,
@@collation_connection AS collation_connection;
-- ---------------------------------------------------------------------------
-- 1. Expression level
-- ---------------------------------------------------------------------------
DROP TEMPORARY TABLE IF EXISTS like_results;
CREATE TEMPORARY TABLE like_results (
scope_name VARCHAR(16) CHARACTER SET ascii NOT NULL,
collation_name VARCHAR(64) CHARACTER SET ascii NOT NULL,
pair_name VARCHAR(64) CHARACTER SET ascii NOT NULL,
left_value VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_bin NOT NULL,
right_value VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_bin NOT NULL,
expected_equal TINYINT UNSIGNED NOT NULL,
expected_like TINYINT UNSIGNED NOT NULL,
actual_equal TINYINT UNSIGNED NOT NULL,
like_exact TINYINT UNSIGNED NOT NULL,
like_reversed TINYINT UNSIGNED NOT NULL,
like_prefix TINYINT UNSIGNED NOT NULL,
like_middle TINYINT UNSIGNED NOT NULL,
left_hex VARCHAR(256) CHARACTER SET ascii NOT NULL,
right_hex VARCHAR(256) CHARACTER SET ascii NOT NULL
);
-- The 35 cells of the article's main comparison matrix, now with LIKE.
-- The 71 additional rows cover expansions, contractions, ignorable
-- characters, canonical decomposition, compatibility characters, and padding.
INSERT INTO like_results VALUES
('matrix', 'utf8mb4_0900_ai_ci', 'case', _utf8mb4'Cafe', _utf8mb4'cafe', 1, 1,
_utf8mb4'Cafe' COLLATE utf8mb4_0900_ai_ci = _utf8mb4'cafe',
_utf8mb4'Cafe' COLLATE utf8mb4_0900_ai_ci LIKE _utf8mb4'cafe',
_utf8mb4'cafe' COLLATE utf8mb4_0900_ai_ci LIKE _utf8mb4'Cafe',
CONCAT(_utf8mb4'Cafe', _utf8mb4'zz') COLLATE utf8mb4_0900_ai_ci LIKE CONCAT(_utf8mb4'cafe', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'Cafe', _utf8mb4'zz') COLLATE utf8mb4_0900_ai_ci LIKE CONCAT(_utf8mb4'%', _utf8mb4'cafe', _utf8mb4'%'),
HEX(_utf8mb4'Cafe'), HEX(_utf8mb4'cafe')),
('matrix', 'utf8mb4_0900_ai_ci', 'accent', _utf8mb4'cafe', _utf8mb4'café', 1, 1,
_utf8mb4'cafe' COLLATE utf8mb4_0900_ai_ci = _utf8mb4'café',
_utf8mb4'cafe' COLLATE utf8mb4_0900_ai_ci LIKE _utf8mb4'café',
_utf8mb4'café' COLLATE utf8mb4_0900_ai_ci LIKE _utf8mb4'cafe',
CONCAT(_utf8mb4'cafe', _utf8mb4'zz') COLLATE utf8mb4_0900_ai_ci LIKE CONCAT(_utf8mb4'café', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'cafe', _utf8mb4'zz') COLLATE utf8mb4_0900_ai_ci LIKE CONCAT(_utf8mb4'%', _utf8mb4'café', _utf8mb4'%'),
HEX(_utf8mb4'cafe'), HEX(_utf8mb4'café')),
('matrix', 'utf8mb4_0900_ai_ci', 'width-parentheses', _utf8mb4'()', _utf8mb4'()', 1, 1,
_utf8mb4'()' COLLATE utf8mb4_0900_ai_ci = _utf8mb4'()',
_utf8mb4'()' COLLATE utf8mb4_0900_ai_ci LIKE _utf8mb4'()',
_utf8mb4'()' COLLATE utf8mb4_0900_ai_ci LIKE _utf8mb4'()',
CONCAT(_utf8mb4'()', _utf8mb4'zz') COLLATE utf8mb4_0900_ai_ci LIKE CONCAT(_utf8mb4'()', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'()', _utf8mb4'zz') COLLATE utf8mb4_0900_ai_ci LIKE CONCAT(_utf8mb4'%', _utf8mb4'()', _utf8mb4'%'),
HEX(_utf8mb4'()'), HEX(_utf8mb4'()')),
('matrix', 'utf8mb4_0900_ai_ci', 'hiragana-katakana', _utf8mb4'かな', _utf8mb4'カナ', 1, 1,
_utf8mb4'かな' COLLATE utf8mb4_0900_ai_ci = _utf8mb4'カナ',
_utf8mb4'かな' COLLATE utf8mb4_0900_ai_ci LIKE _utf8mb4'カナ',
_utf8mb4'カナ' COLLATE utf8mb4_0900_ai_ci LIKE _utf8mb4'かな',
CONCAT(_utf8mb4'かな', _utf8mb4'zz') COLLATE utf8mb4_0900_ai_ci LIKE CONCAT(_utf8mb4'カナ', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'かな', _utf8mb4'zz') COLLATE utf8mb4_0900_ai_ci LIKE CONCAT(_utf8mb4'%', _utf8mb4'カナ', _utf8mb4'%'),
HEX(_utf8mb4'かな'), HEX(_utf8mb4'カナ')),
('matrix', 'utf8mb4_0900_ai_ci', 'katakana-width', _utf8mb4'カナ', _utf8mb4'カナ', 1, 1,
_utf8mb4'カナ' COLLATE utf8mb4_0900_ai_ci = _utf8mb4'カナ',
_utf8mb4'カナ' COLLATE utf8mb4_0900_ai_ci LIKE _utf8mb4'カナ',
_utf8mb4'カナ' COLLATE utf8mb4_0900_ai_ci LIKE _utf8mb4'カナ',
CONCAT(_utf8mb4'カナ', _utf8mb4'zz') COLLATE utf8mb4_0900_ai_ci LIKE CONCAT(_utf8mb4'カナ', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'カナ', _utf8mb4'zz') COLLATE utf8mb4_0900_ai_ci LIKE CONCAT(_utf8mb4'%', _utf8mb4'カナ', _utf8mb4'%'),
HEX(_utf8mb4'カナ'), HEX(_utf8mb4'カナ')),
('matrix', 'utf8mb4_0900_ai_ci', 'voicing', _utf8mb4'は', _utf8mb4'ば', 1, 1,
_utf8mb4'は' COLLATE utf8mb4_0900_ai_ci = _utf8mb4'ば',
_utf8mb4'は' COLLATE utf8mb4_0900_ai_ci LIKE _utf8mb4'ば',
_utf8mb4'ば' COLLATE utf8mb4_0900_ai_ci LIKE _utf8mb4'は',
CONCAT(_utf8mb4'は', _utf8mb4'zz') COLLATE utf8mb4_0900_ai_ci LIKE CONCAT(_utf8mb4'ば', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'は', _utf8mb4'zz') COLLATE utf8mb4_0900_ai_ci LIKE CONCAT(_utf8mb4'%', _utf8mb4'ば', _utf8mb4'%'),
HEX(_utf8mb4'は'), HEX(_utf8mb4'ば')),
('matrix', 'utf8mb4_0900_ai_ci', 'small-kana', _utf8mb4'つ', _utf8mb4'っ', 1, 1,
_utf8mb4'つ' COLLATE utf8mb4_0900_ai_ci = _utf8mb4'っ',
_utf8mb4'つ' COLLATE utf8mb4_0900_ai_ci LIKE _utf8mb4'っ',
_utf8mb4'っ' COLLATE utf8mb4_0900_ai_ci LIKE _utf8mb4'つ',
CONCAT(_utf8mb4'つ', _utf8mb4'zz') COLLATE utf8mb4_0900_ai_ci LIKE CONCAT(_utf8mb4'っ', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'つ', _utf8mb4'zz') COLLATE utf8mb4_0900_ai_ci LIKE CONCAT(_utf8mb4'%', _utf8mb4'っ', _utf8mb4'%'),
HEX(_utf8mb4'つ'), HEX(_utf8mb4'っ')),
('matrix', 'utf8mb4_0900_as_ci', 'case', _utf8mb4'Cafe', _utf8mb4'cafe', 1, 1,
_utf8mb4'Cafe' COLLATE utf8mb4_0900_as_ci = _utf8mb4'cafe',
_utf8mb4'Cafe' COLLATE utf8mb4_0900_as_ci LIKE _utf8mb4'cafe',
_utf8mb4'cafe' COLLATE utf8mb4_0900_as_ci LIKE _utf8mb4'Cafe',
CONCAT(_utf8mb4'Cafe', _utf8mb4'zz') COLLATE utf8mb4_0900_as_ci LIKE CONCAT(_utf8mb4'cafe', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'Cafe', _utf8mb4'zz') COLLATE utf8mb4_0900_as_ci LIKE CONCAT(_utf8mb4'%', _utf8mb4'cafe', _utf8mb4'%'),
HEX(_utf8mb4'Cafe'), HEX(_utf8mb4'cafe')),
('matrix', 'utf8mb4_0900_as_ci', 'accent', _utf8mb4'cafe', _utf8mb4'café', 0, 0,
_utf8mb4'cafe' COLLATE utf8mb4_0900_as_ci = _utf8mb4'café',
_utf8mb4'cafe' COLLATE utf8mb4_0900_as_ci LIKE _utf8mb4'café',
_utf8mb4'café' COLLATE utf8mb4_0900_as_ci LIKE _utf8mb4'cafe',
CONCAT(_utf8mb4'cafe', _utf8mb4'zz') COLLATE utf8mb4_0900_as_ci LIKE CONCAT(_utf8mb4'café', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'cafe', _utf8mb4'zz') COLLATE utf8mb4_0900_as_ci LIKE CONCAT(_utf8mb4'%', _utf8mb4'café', _utf8mb4'%'),
HEX(_utf8mb4'cafe'), HEX(_utf8mb4'café')),
('matrix', 'utf8mb4_0900_as_ci', 'width-parentheses', _utf8mb4'()', _utf8mb4'()', 1, 1,
_utf8mb4'()' COLLATE utf8mb4_0900_as_ci = _utf8mb4'()',
_utf8mb4'()' COLLATE utf8mb4_0900_as_ci LIKE _utf8mb4'()',
_utf8mb4'()' COLLATE utf8mb4_0900_as_ci LIKE _utf8mb4'()',
CONCAT(_utf8mb4'()', _utf8mb4'zz') COLLATE utf8mb4_0900_as_ci LIKE CONCAT(_utf8mb4'()', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'()', _utf8mb4'zz') COLLATE utf8mb4_0900_as_ci LIKE CONCAT(_utf8mb4'%', _utf8mb4'()', _utf8mb4'%'),
HEX(_utf8mb4'()'), HEX(_utf8mb4'()')),
('matrix', 'utf8mb4_0900_as_ci', 'hiragana-katakana', _utf8mb4'かな', _utf8mb4'カナ', 1, 1,
_utf8mb4'かな' COLLATE utf8mb4_0900_as_ci = _utf8mb4'カナ',
_utf8mb4'かな' COLLATE utf8mb4_0900_as_ci LIKE _utf8mb4'カナ',
_utf8mb4'カナ' COLLATE utf8mb4_0900_as_ci LIKE _utf8mb4'かな',
CONCAT(_utf8mb4'かな', _utf8mb4'zz') COLLATE utf8mb4_0900_as_ci LIKE CONCAT(_utf8mb4'カナ', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'かな', _utf8mb4'zz') COLLATE utf8mb4_0900_as_ci LIKE CONCAT(_utf8mb4'%', _utf8mb4'カナ', _utf8mb4'%'),
HEX(_utf8mb4'かな'), HEX(_utf8mb4'カナ')),
('matrix', 'utf8mb4_0900_as_ci', 'katakana-width', _utf8mb4'カナ', _utf8mb4'カナ', 1, 1,
_utf8mb4'カナ' COLLATE utf8mb4_0900_as_ci = _utf8mb4'カナ',
_utf8mb4'カナ' COLLATE utf8mb4_0900_as_ci LIKE _utf8mb4'カナ',
_utf8mb4'カナ' COLLATE utf8mb4_0900_as_ci LIKE _utf8mb4'カナ',
CONCAT(_utf8mb4'カナ', _utf8mb4'zz') COLLATE utf8mb4_0900_as_ci LIKE CONCAT(_utf8mb4'カナ', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'カナ', _utf8mb4'zz') COLLATE utf8mb4_0900_as_ci LIKE CONCAT(_utf8mb4'%', _utf8mb4'カナ', _utf8mb4'%'),
HEX(_utf8mb4'カナ'), HEX(_utf8mb4'カナ')),
('matrix', 'utf8mb4_0900_as_ci', 'voicing', _utf8mb4'は', _utf8mb4'ば', 0, 0,
_utf8mb4'は' COLLATE utf8mb4_0900_as_ci = _utf8mb4'ば',
_utf8mb4'は' COLLATE utf8mb4_0900_as_ci LIKE _utf8mb4'ば',
_utf8mb4'ば' COLLATE utf8mb4_0900_as_ci LIKE _utf8mb4'は',
CONCAT(_utf8mb4'は', _utf8mb4'zz') COLLATE utf8mb4_0900_as_ci LIKE CONCAT(_utf8mb4'ば', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'は', _utf8mb4'zz') COLLATE utf8mb4_0900_as_ci LIKE CONCAT(_utf8mb4'%', _utf8mb4'ば', _utf8mb4'%'),
HEX(_utf8mb4'は'), HEX(_utf8mb4'ば')),
('matrix', 'utf8mb4_0900_as_ci', 'small-kana', _utf8mb4'つ', _utf8mb4'っ', 1, 1,
_utf8mb4'つ' COLLATE utf8mb4_0900_as_ci = _utf8mb4'っ',
_utf8mb4'つ' COLLATE utf8mb4_0900_as_ci LIKE _utf8mb4'っ',
_utf8mb4'っ' COLLATE utf8mb4_0900_as_ci LIKE _utf8mb4'つ',
CONCAT(_utf8mb4'つ', _utf8mb4'zz') COLLATE utf8mb4_0900_as_ci LIKE CONCAT(_utf8mb4'っ', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'つ', _utf8mb4'zz') COLLATE utf8mb4_0900_as_ci LIKE CONCAT(_utf8mb4'%', _utf8mb4'っ', _utf8mb4'%'),
HEX(_utf8mb4'つ'), HEX(_utf8mb4'っ')),
('matrix', 'utf8mb4_0900_as_cs', 'case', _utf8mb4'Cafe', _utf8mb4'cafe', 0, 0,
_utf8mb4'Cafe' COLLATE utf8mb4_0900_as_cs = _utf8mb4'cafe',
_utf8mb4'Cafe' COLLATE utf8mb4_0900_as_cs LIKE _utf8mb4'cafe',
_utf8mb4'cafe' COLLATE utf8mb4_0900_as_cs LIKE _utf8mb4'Cafe',
CONCAT(_utf8mb4'Cafe', _utf8mb4'zz') COLLATE utf8mb4_0900_as_cs LIKE CONCAT(_utf8mb4'cafe', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'Cafe', _utf8mb4'zz') COLLATE utf8mb4_0900_as_cs LIKE CONCAT(_utf8mb4'%', _utf8mb4'cafe', _utf8mb4'%'),
HEX(_utf8mb4'Cafe'), HEX(_utf8mb4'cafe')),
('matrix', 'utf8mb4_0900_as_cs', 'accent', _utf8mb4'cafe', _utf8mb4'café', 0, 0,
_utf8mb4'cafe' COLLATE utf8mb4_0900_as_cs = _utf8mb4'café',
_utf8mb4'cafe' COLLATE utf8mb4_0900_as_cs LIKE _utf8mb4'café',
_utf8mb4'café' COLLATE utf8mb4_0900_as_cs LIKE _utf8mb4'cafe',
CONCAT(_utf8mb4'cafe', _utf8mb4'zz') COLLATE utf8mb4_0900_as_cs LIKE CONCAT(_utf8mb4'café', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'cafe', _utf8mb4'zz') COLLATE utf8mb4_0900_as_cs LIKE CONCAT(_utf8mb4'%', _utf8mb4'café', _utf8mb4'%'),
HEX(_utf8mb4'cafe'), HEX(_utf8mb4'café')),
('matrix', 'utf8mb4_0900_as_cs', 'width-parentheses', _utf8mb4'()', _utf8mb4'()', 0, 0,
_utf8mb4'()' COLLATE utf8mb4_0900_as_cs = _utf8mb4'()',
_utf8mb4'()' COLLATE utf8mb4_0900_as_cs LIKE _utf8mb4'()',
_utf8mb4'()' COLLATE utf8mb4_0900_as_cs LIKE _utf8mb4'()',
CONCAT(_utf8mb4'()', _utf8mb4'zz') COLLATE utf8mb4_0900_as_cs LIKE CONCAT(_utf8mb4'()', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'()', _utf8mb4'zz') COLLATE utf8mb4_0900_as_cs LIKE CONCAT(_utf8mb4'%', _utf8mb4'()', _utf8mb4'%'),
HEX(_utf8mb4'()'), HEX(_utf8mb4'()')),
('matrix', 'utf8mb4_0900_as_cs', 'hiragana-katakana', _utf8mb4'かな', _utf8mb4'カナ', 0, 0,
_utf8mb4'かな' COLLATE utf8mb4_0900_as_cs = _utf8mb4'カナ',
_utf8mb4'かな' COLLATE utf8mb4_0900_as_cs LIKE _utf8mb4'カナ',
_utf8mb4'カナ' COLLATE utf8mb4_0900_as_cs LIKE _utf8mb4'かな',
CONCAT(_utf8mb4'かな', _utf8mb4'zz') COLLATE utf8mb4_0900_as_cs LIKE CONCAT(_utf8mb4'カナ', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'かな', _utf8mb4'zz') COLLATE utf8mb4_0900_as_cs LIKE CONCAT(_utf8mb4'%', _utf8mb4'カナ', _utf8mb4'%'),
HEX(_utf8mb4'かな'), HEX(_utf8mb4'カナ')),
('matrix', 'utf8mb4_0900_as_cs', 'katakana-width', _utf8mb4'カナ', _utf8mb4'カナ', 0, 0,
_utf8mb4'カナ' COLLATE utf8mb4_0900_as_cs = _utf8mb4'カナ',
_utf8mb4'カナ' COLLATE utf8mb4_0900_as_cs LIKE _utf8mb4'カナ',
_utf8mb4'カナ' COLLATE utf8mb4_0900_as_cs LIKE _utf8mb4'カナ',
CONCAT(_utf8mb4'カナ', _utf8mb4'zz') COLLATE utf8mb4_0900_as_cs LIKE CONCAT(_utf8mb4'カナ', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'カナ', _utf8mb4'zz') COLLATE utf8mb4_0900_as_cs LIKE CONCAT(_utf8mb4'%', _utf8mb4'カナ', _utf8mb4'%'),
HEX(_utf8mb4'カナ'), HEX(_utf8mb4'カナ')),
('matrix', 'utf8mb4_0900_as_cs', 'voicing', _utf8mb4'は', _utf8mb4'ば', 0, 0,
_utf8mb4'は' COLLATE utf8mb4_0900_as_cs = _utf8mb4'ば',
_utf8mb4'は' COLLATE utf8mb4_0900_as_cs LIKE _utf8mb4'ば',
_utf8mb4'ば' COLLATE utf8mb4_0900_as_cs LIKE _utf8mb4'は',
CONCAT(_utf8mb4'は', _utf8mb4'zz') COLLATE utf8mb4_0900_as_cs LIKE CONCAT(_utf8mb4'ば', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'は', _utf8mb4'zz') COLLATE utf8mb4_0900_as_cs LIKE CONCAT(_utf8mb4'%', _utf8mb4'ば', _utf8mb4'%'),
HEX(_utf8mb4'は'), HEX(_utf8mb4'ば')),
('matrix', 'utf8mb4_0900_as_cs', 'small-kana', _utf8mb4'つ', _utf8mb4'っ', 0, 0,
_utf8mb4'つ' COLLATE utf8mb4_0900_as_cs = _utf8mb4'っ',
_utf8mb4'つ' COLLATE utf8mb4_0900_as_cs LIKE _utf8mb4'っ',
_utf8mb4'っ' COLLATE utf8mb4_0900_as_cs LIKE _utf8mb4'つ',
CONCAT(_utf8mb4'つ', _utf8mb4'zz') COLLATE utf8mb4_0900_as_cs LIKE CONCAT(_utf8mb4'っ', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'つ', _utf8mb4'zz') COLLATE utf8mb4_0900_as_cs LIKE CONCAT(_utf8mb4'%', _utf8mb4'っ', _utf8mb4'%'),
HEX(_utf8mb4'つ'), HEX(_utf8mb4'っ')),
('matrix', 'utf8mb4_ja_0900_as_cs', 'case', _utf8mb4'Cafe', _utf8mb4'cafe', 0, 0,
_utf8mb4'Cafe' COLLATE utf8mb4_ja_0900_as_cs = _utf8mb4'cafe',
_utf8mb4'Cafe' COLLATE utf8mb4_ja_0900_as_cs LIKE _utf8mb4'cafe',
_utf8mb4'cafe' COLLATE utf8mb4_ja_0900_as_cs LIKE _utf8mb4'Cafe',
CONCAT(_utf8mb4'Cafe', _utf8mb4'zz') COLLATE utf8mb4_ja_0900_as_cs LIKE CONCAT(_utf8mb4'cafe', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'Cafe', _utf8mb4'zz') COLLATE utf8mb4_ja_0900_as_cs LIKE CONCAT(_utf8mb4'%', _utf8mb4'cafe', _utf8mb4'%'),
HEX(_utf8mb4'Cafe'), HEX(_utf8mb4'cafe')),
('matrix', 'utf8mb4_ja_0900_as_cs', 'accent', _utf8mb4'cafe', _utf8mb4'café', 0, 0,
_utf8mb4'cafe' COLLATE utf8mb4_ja_0900_as_cs = _utf8mb4'café',
_utf8mb4'cafe' COLLATE utf8mb4_ja_0900_as_cs LIKE _utf8mb4'café',
_utf8mb4'café' COLLATE utf8mb4_ja_0900_as_cs LIKE _utf8mb4'cafe',
CONCAT(_utf8mb4'cafe', _utf8mb4'zz') COLLATE utf8mb4_ja_0900_as_cs LIKE CONCAT(_utf8mb4'café', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'cafe', _utf8mb4'zz') COLLATE utf8mb4_ja_0900_as_cs LIKE CONCAT(_utf8mb4'%', _utf8mb4'café', _utf8mb4'%'),
HEX(_utf8mb4'cafe'), HEX(_utf8mb4'café')),
('matrix', 'utf8mb4_ja_0900_as_cs', 'width-parentheses', _utf8mb4'()', _utf8mb4'()', 1, 1,
_utf8mb4'()' COLLATE utf8mb4_ja_0900_as_cs = _utf8mb4'()',
_utf8mb4'()' COLLATE utf8mb4_ja_0900_as_cs LIKE _utf8mb4'()',
_utf8mb4'()' COLLATE utf8mb4_ja_0900_as_cs LIKE _utf8mb4'()',
CONCAT(_utf8mb4'()', _utf8mb4'zz') COLLATE utf8mb4_ja_0900_as_cs LIKE CONCAT(_utf8mb4'()', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'()', _utf8mb4'zz') COLLATE utf8mb4_ja_0900_as_cs LIKE CONCAT(_utf8mb4'%', _utf8mb4'()', _utf8mb4'%'),
HEX(_utf8mb4'()'), HEX(_utf8mb4'()')),
('matrix', 'utf8mb4_ja_0900_as_cs', 'hiragana-katakana', _utf8mb4'かな', _utf8mb4'カナ', 1, 1,
_utf8mb4'かな' COLLATE utf8mb4_ja_0900_as_cs = _utf8mb4'カナ',
_utf8mb4'かな' COLLATE utf8mb4_ja_0900_as_cs LIKE _utf8mb4'カナ',
_utf8mb4'カナ' COLLATE utf8mb4_ja_0900_as_cs LIKE _utf8mb4'かな',
CONCAT(_utf8mb4'かな', _utf8mb4'zz') COLLATE utf8mb4_ja_0900_as_cs LIKE CONCAT(_utf8mb4'カナ', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'かな', _utf8mb4'zz') COLLATE utf8mb4_ja_0900_as_cs LIKE CONCAT(_utf8mb4'%', _utf8mb4'カナ', _utf8mb4'%'),
HEX(_utf8mb4'かな'), HEX(_utf8mb4'カナ')),
('matrix', 'utf8mb4_ja_0900_as_cs', 'katakana-width', _utf8mb4'カナ', _utf8mb4'カナ', 1, 1,
_utf8mb4'カナ' COLLATE utf8mb4_ja_0900_as_cs = _utf8mb4'カナ',
_utf8mb4'カナ' COLLATE utf8mb4_ja_0900_as_cs LIKE _utf8mb4'カナ',
_utf8mb4'カナ' COLLATE utf8mb4_ja_0900_as_cs LIKE _utf8mb4'カナ',
CONCAT(_utf8mb4'カナ', _utf8mb4'zz') COLLATE utf8mb4_ja_0900_as_cs LIKE CONCAT(_utf8mb4'カナ', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'カナ', _utf8mb4'zz') COLLATE utf8mb4_ja_0900_as_cs LIKE CONCAT(_utf8mb4'%', _utf8mb4'カナ', _utf8mb4'%'),
HEX(_utf8mb4'カナ'), HEX(_utf8mb4'カナ')),
('matrix', 'utf8mb4_ja_0900_as_cs', 'voicing', _utf8mb4'は', _utf8mb4'ば', 0, 0,
_utf8mb4'は' COLLATE utf8mb4_ja_0900_as_cs = _utf8mb4'ば',
_utf8mb4'は' COLLATE utf8mb4_ja_0900_as_cs LIKE _utf8mb4'ば',
_utf8mb4'ば' COLLATE utf8mb4_ja_0900_as_cs LIKE _utf8mb4'は',
CONCAT(_utf8mb4'は', _utf8mb4'zz') COLLATE utf8mb4_ja_0900_as_cs LIKE CONCAT(_utf8mb4'ば', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'は', _utf8mb4'zz') COLLATE utf8mb4_ja_0900_as_cs LIKE CONCAT(_utf8mb4'%', _utf8mb4'ば', _utf8mb4'%'),
HEX(_utf8mb4'は'), HEX(_utf8mb4'ば')),
('matrix', 'utf8mb4_ja_0900_as_cs', 'small-kana', _utf8mb4'つ', _utf8mb4'っ', 0, 0,
_utf8mb4'つ' COLLATE utf8mb4_ja_0900_as_cs = _utf8mb4'っ',
_utf8mb4'つ' COLLATE utf8mb4_ja_0900_as_cs LIKE _utf8mb4'っ',
_utf8mb4'っ' COLLATE utf8mb4_ja_0900_as_cs LIKE _utf8mb4'つ',
CONCAT(_utf8mb4'つ', _utf8mb4'zz') COLLATE utf8mb4_ja_0900_as_cs LIKE CONCAT(_utf8mb4'っ', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'つ', _utf8mb4'zz') COLLATE utf8mb4_ja_0900_as_cs LIKE CONCAT(_utf8mb4'%', _utf8mb4'っ', _utf8mb4'%'),
HEX(_utf8mb4'つ'), HEX(_utf8mb4'っ')),
('matrix', 'utf8mb4_ja_0900_as_cs_ks', 'case', _utf8mb4'Cafe', _utf8mb4'cafe', 0, 0,
_utf8mb4'Cafe' COLLATE utf8mb4_ja_0900_as_cs_ks = _utf8mb4'cafe',
_utf8mb4'Cafe' COLLATE utf8mb4_ja_0900_as_cs_ks LIKE _utf8mb4'cafe',
_utf8mb4'cafe' COLLATE utf8mb4_ja_0900_as_cs_ks LIKE _utf8mb4'Cafe',
CONCAT(_utf8mb4'Cafe', _utf8mb4'zz') COLLATE utf8mb4_ja_0900_as_cs_ks LIKE CONCAT(_utf8mb4'cafe', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'Cafe', _utf8mb4'zz') COLLATE utf8mb4_ja_0900_as_cs_ks LIKE CONCAT(_utf8mb4'%', _utf8mb4'cafe', _utf8mb4'%'),
HEX(_utf8mb4'Cafe'), HEX(_utf8mb4'cafe')),
('matrix', 'utf8mb4_ja_0900_as_cs_ks', 'accent', _utf8mb4'cafe', _utf8mb4'café', 0, 0,
_utf8mb4'cafe' COLLATE utf8mb4_ja_0900_as_cs_ks = _utf8mb4'café',
_utf8mb4'cafe' COLLATE utf8mb4_ja_0900_as_cs_ks LIKE _utf8mb4'café',
_utf8mb4'café' COLLATE utf8mb4_ja_0900_as_cs_ks LIKE _utf8mb4'cafe',
CONCAT(_utf8mb4'cafe', _utf8mb4'zz') COLLATE utf8mb4_ja_0900_as_cs_ks LIKE CONCAT(_utf8mb4'café', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'cafe', _utf8mb4'zz') COLLATE utf8mb4_ja_0900_as_cs_ks LIKE CONCAT(_utf8mb4'%', _utf8mb4'café', _utf8mb4'%'),
HEX(_utf8mb4'cafe'), HEX(_utf8mb4'café')),
('matrix', 'utf8mb4_ja_0900_as_cs_ks', 'width-parentheses', _utf8mb4'()', _utf8mb4'()', 1, 1,
_utf8mb4'()' COLLATE utf8mb4_ja_0900_as_cs_ks = _utf8mb4'()',
_utf8mb4'()' COLLATE utf8mb4_ja_0900_as_cs_ks LIKE _utf8mb4'()',
_utf8mb4'()' COLLATE utf8mb4_ja_0900_as_cs_ks LIKE _utf8mb4'()',
CONCAT(_utf8mb4'()', _utf8mb4'zz') COLLATE utf8mb4_ja_0900_as_cs_ks LIKE CONCAT(_utf8mb4'()', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'()', _utf8mb4'zz') COLLATE utf8mb4_ja_0900_as_cs_ks LIKE CONCAT(_utf8mb4'%', _utf8mb4'()', _utf8mb4'%'),
HEX(_utf8mb4'()'), HEX(_utf8mb4'()')),
('matrix', 'utf8mb4_ja_0900_as_cs_ks', 'hiragana-katakana', _utf8mb4'かな', _utf8mb4'カナ', 0, 1,
_utf8mb4'かな' COLLATE utf8mb4_ja_0900_as_cs_ks = _utf8mb4'カナ',
_utf8mb4'かな' COLLATE utf8mb4_ja_0900_as_cs_ks LIKE _utf8mb4'カナ',
_utf8mb4'カナ' COLLATE utf8mb4_ja_0900_as_cs_ks LIKE _utf8mb4'かな',
CONCAT(_utf8mb4'かな', _utf8mb4'zz') COLLATE utf8mb4_ja_0900_as_cs_ks LIKE CONCAT(_utf8mb4'カナ', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'かな', _utf8mb4'zz') COLLATE utf8mb4_ja_0900_as_cs_ks LIKE CONCAT(_utf8mb4'%', _utf8mb4'カナ', _utf8mb4'%'),
HEX(_utf8mb4'かな'), HEX(_utf8mb4'カナ')),
('matrix', 'utf8mb4_ja_0900_as_cs_ks', 'katakana-width', _utf8mb4'カナ', _utf8mb4'カナ', 1, 1,
_utf8mb4'カナ' COLLATE utf8mb4_ja_0900_as_cs_ks = _utf8mb4'カナ',
_utf8mb4'カナ' COLLATE utf8mb4_ja_0900_as_cs_ks LIKE _utf8mb4'カナ',
_utf8mb4'カナ' COLLATE utf8mb4_ja_0900_as_cs_ks LIKE _utf8mb4'カナ',
CONCAT(_utf8mb4'カナ', _utf8mb4'zz') COLLATE utf8mb4_ja_0900_as_cs_ks LIKE CONCAT(_utf8mb4'カナ', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'カナ', _utf8mb4'zz') COLLATE utf8mb4_ja_0900_as_cs_ks LIKE CONCAT(_utf8mb4'%', _utf8mb4'カナ', _utf8mb4'%'),
HEX(_utf8mb4'カナ'), HEX(_utf8mb4'カナ')),
('matrix', 'utf8mb4_ja_0900_as_cs_ks', 'voicing', _utf8mb4'は', _utf8mb4'ば', 0, 0,
_utf8mb4'は' COLLATE utf8mb4_ja_0900_as_cs_ks = _utf8mb4'ば',
_utf8mb4'は' COLLATE utf8mb4_ja_0900_as_cs_ks LIKE _utf8mb4'ば',
_utf8mb4'ば' COLLATE utf8mb4_ja_0900_as_cs_ks LIKE _utf8mb4'は',
CONCAT(_utf8mb4'は', _utf8mb4'zz') COLLATE utf8mb4_ja_0900_as_cs_ks LIKE CONCAT(_utf8mb4'ば', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'は', _utf8mb4'zz') COLLATE utf8mb4_ja_0900_as_cs_ks LIKE CONCAT(_utf8mb4'%', _utf8mb4'ば', _utf8mb4'%'),
HEX(_utf8mb4'は'), HEX(_utf8mb4'ば')),
('matrix', 'utf8mb4_ja_0900_as_cs_ks', 'small-kana', _utf8mb4'つ', _utf8mb4'っ', 0, 0,
_utf8mb4'つ' COLLATE utf8mb4_ja_0900_as_cs_ks = _utf8mb4'っ',
_utf8mb4'つ' COLLATE utf8mb4_ja_0900_as_cs_ks LIKE _utf8mb4'っ',
_utf8mb4'っ' COLLATE utf8mb4_ja_0900_as_cs_ks LIKE _utf8mb4'つ',
CONCAT(_utf8mb4'つ', _utf8mb4'zz') COLLATE utf8mb4_ja_0900_as_cs_ks LIKE CONCAT(_utf8mb4'っ', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'つ', _utf8mb4'zz') COLLATE utf8mb4_ja_0900_as_cs_ks LIKE CONCAT(_utf8mb4'%', _utf8mb4'っ', _utf8mb4'%'),
HEX(_utf8mb4'つ'), HEX(_utf8mb4'っ')),
('additional', 'utf8mb4_0900_ai_ci', 'voiced-katakana-width', _utf8mb4'ガ', _utf8mb4'ガ', 1, 0,
_utf8mb4'ガ' COLLATE utf8mb4_0900_ai_ci = _utf8mb4'ガ',
_utf8mb4'ガ' COLLATE utf8mb4_0900_ai_ci LIKE _utf8mb4'ガ',
_utf8mb4'ガ' COLLATE utf8mb4_0900_ai_ci LIKE _utf8mb4'ガ',
CONCAT(_utf8mb4'ガ', _utf8mb4'zz') COLLATE utf8mb4_0900_ai_ci LIKE CONCAT(_utf8mb4'ガ', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'ガ', _utf8mb4'zz') COLLATE utf8mb4_0900_ai_ci LIKE CONCAT(_utf8mb4'%', _utf8mb4'ガ', _utf8mb4'%'),
HEX(_utf8mb4'ガ'), HEX(_utf8mb4'ガ')),
('additional', 'utf8mb4_0900_as_ci', 'voiced-katakana-width', _utf8mb4'ガ', _utf8mb4'ガ', 1, 0,
_utf8mb4'ガ' COLLATE utf8mb4_0900_as_ci = _utf8mb4'ガ',
_utf8mb4'ガ' COLLATE utf8mb4_0900_as_ci LIKE _utf8mb4'ガ',
_utf8mb4'ガ' COLLATE utf8mb4_0900_as_ci LIKE _utf8mb4'ガ',
CONCAT(_utf8mb4'ガ', _utf8mb4'zz') COLLATE utf8mb4_0900_as_ci LIKE CONCAT(_utf8mb4'ガ', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'ガ', _utf8mb4'zz') COLLATE utf8mb4_0900_as_ci LIKE CONCAT(_utf8mb4'%', _utf8mb4'ガ', _utf8mb4'%'),
HEX(_utf8mb4'ガ'), HEX(_utf8mb4'ガ')),
('additional', 'utf8mb4_0900_as_cs', 'voiced-katakana-width', _utf8mb4'ガ', _utf8mb4'ガ', 0, 0,
_utf8mb4'ガ' COLLATE utf8mb4_0900_as_cs = _utf8mb4'ガ',
_utf8mb4'ガ' COLLATE utf8mb4_0900_as_cs LIKE _utf8mb4'ガ',
_utf8mb4'ガ' COLLATE utf8mb4_0900_as_cs LIKE _utf8mb4'ガ',
CONCAT(_utf8mb4'ガ', _utf8mb4'zz') COLLATE utf8mb4_0900_as_cs LIKE CONCAT(_utf8mb4'ガ', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'ガ', _utf8mb4'zz') COLLATE utf8mb4_0900_as_cs LIKE CONCAT(_utf8mb4'%', _utf8mb4'ガ', _utf8mb4'%'),
HEX(_utf8mb4'ガ'), HEX(_utf8mb4'ガ')),
('additional', 'utf8mb4_ja_0900_as_cs', 'voiced-katakana-width', _utf8mb4'ガ', _utf8mb4'ガ', 0, 0,
_utf8mb4'ガ' COLLATE utf8mb4_ja_0900_as_cs = _utf8mb4'ガ',
_utf8mb4'ガ' COLLATE utf8mb4_ja_0900_as_cs LIKE _utf8mb4'ガ',
_utf8mb4'ガ' COLLATE utf8mb4_ja_0900_as_cs LIKE _utf8mb4'ガ',
CONCAT(_utf8mb4'ガ', _utf8mb4'zz') COLLATE utf8mb4_ja_0900_as_cs LIKE CONCAT(_utf8mb4'ガ', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'ガ', _utf8mb4'zz') COLLATE utf8mb4_ja_0900_as_cs LIKE CONCAT(_utf8mb4'%', _utf8mb4'ガ', _utf8mb4'%'),
HEX(_utf8mb4'ガ'), HEX(_utf8mb4'ガ')),
('additional', 'utf8mb4_ja_0900_as_cs_ks', 'voiced-katakana-width', _utf8mb4'ガ', _utf8mb4'ガ', 0, 0,
_utf8mb4'ガ' COLLATE utf8mb4_ja_0900_as_cs_ks = _utf8mb4'ガ',
_utf8mb4'ガ' COLLATE utf8mb4_ja_0900_as_cs_ks LIKE _utf8mb4'ガ',
_utf8mb4'ガ' COLLATE utf8mb4_ja_0900_as_cs_ks LIKE _utf8mb4'ガ',
CONCAT(_utf8mb4'ガ', _utf8mb4'zz') COLLATE utf8mb4_ja_0900_as_cs_ks LIKE CONCAT(_utf8mb4'ガ', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'ガ', _utf8mb4'zz') COLLATE utf8mb4_ja_0900_as_cs_ks LIKE CONCAT(_utf8mb4'%', _utf8mb4'ガ', _utf8mb4'%'),
HEX(_utf8mb4'ガ'), HEX(_utf8mb4'ガ')),
('additional', 'utf8mb4_unicode_ci', 'voiced-katakana-width', _utf8mb4'ガ', _utf8mb4'ガ', 1, 0,
_utf8mb4'ガ' COLLATE utf8mb4_unicode_ci = _utf8mb4'ガ',
_utf8mb4'ガ' COLLATE utf8mb4_unicode_ci LIKE _utf8mb4'ガ',
_utf8mb4'ガ' COLLATE utf8mb4_unicode_ci LIKE _utf8mb4'ガ',
CONCAT(_utf8mb4'ガ', _utf8mb4'zz') COLLATE utf8mb4_unicode_ci LIKE CONCAT(_utf8mb4'ガ', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'ガ', _utf8mb4'zz') COLLATE utf8mb4_unicode_ci LIKE CONCAT(_utf8mb4'%', _utf8mb4'ガ', _utf8mb4'%'),
HEX(_utf8mb4'ガ'), HEX(_utf8mb4'ガ')),
('additional', 'utf8mb4_0900_ai_ci', 'voiced-katakana-decomposed', _utf8mb4'ガ', CONVERT(0xE382ABE38299 USING utf8mb4), 1, 0,
_utf8mb4'ガ' COLLATE utf8mb4_0900_ai_ci = CONVERT(0xE382ABE38299 USING utf8mb4),
_utf8mb4'ガ' COLLATE utf8mb4_0900_ai_ci LIKE CONVERT(0xE382ABE38299 USING utf8mb4),
CONVERT(0xE382ABE38299 USING utf8mb4) COLLATE utf8mb4_0900_ai_ci LIKE _utf8mb4'ガ',
CONCAT(_utf8mb4'ガ', _utf8mb4'zz') COLLATE utf8mb4_0900_ai_ci LIKE CONCAT(CONVERT(0xE382ABE38299 USING utf8mb4), _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'ガ', _utf8mb4'zz') COLLATE utf8mb4_0900_ai_ci LIKE CONCAT(_utf8mb4'%', CONVERT(0xE382ABE38299 USING utf8mb4), _utf8mb4'%'),
HEX(_utf8mb4'ガ'), HEX(CONVERT(0xE382ABE38299 USING utf8mb4))),
('additional', 'utf8mb4_0900_as_ci', 'voiced-katakana-decomposed', _utf8mb4'ガ', CONVERT(0xE382ABE38299 USING utf8mb4), 1, 0,
_utf8mb4'ガ' COLLATE utf8mb4_0900_as_ci = CONVERT(0xE382ABE38299 USING utf8mb4),
_utf8mb4'ガ' COLLATE utf8mb4_0900_as_ci LIKE CONVERT(0xE382ABE38299 USING utf8mb4),
CONVERT(0xE382ABE38299 USING utf8mb4) COLLATE utf8mb4_0900_as_ci LIKE _utf8mb4'ガ',
CONCAT(_utf8mb4'ガ', _utf8mb4'zz') COLLATE utf8mb4_0900_as_ci LIKE CONCAT(CONVERT(0xE382ABE38299 USING utf8mb4), _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'ガ', _utf8mb4'zz') COLLATE utf8mb4_0900_as_ci LIKE CONCAT(_utf8mb4'%', CONVERT(0xE382ABE38299 USING utf8mb4), _utf8mb4'%'),
HEX(_utf8mb4'ガ'), HEX(CONVERT(0xE382ABE38299 USING utf8mb4))),
('additional', 'utf8mb4_0900_as_cs', 'voiced-katakana-decomposed', _utf8mb4'ガ', CONVERT(0xE382ABE38299 USING utf8mb4), 1, 0,
_utf8mb4'ガ' COLLATE utf8mb4_0900_as_cs = CONVERT(0xE382ABE38299 USING utf8mb4),
_utf8mb4'ガ' COLLATE utf8mb4_0900_as_cs LIKE CONVERT(0xE382ABE38299 USING utf8mb4),
CONVERT(0xE382ABE38299 USING utf8mb4) COLLATE utf8mb4_0900_as_cs LIKE _utf8mb4'ガ',
CONCAT(_utf8mb4'ガ', _utf8mb4'zz') COLLATE utf8mb4_0900_as_cs LIKE CONCAT(CONVERT(0xE382ABE38299 USING utf8mb4), _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'ガ', _utf8mb4'zz') COLLATE utf8mb4_0900_as_cs LIKE CONCAT(_utf8mb4'%', CONVERT(0xE382ABE38299 USING utf8mb4), _utf8mb4'%'),
HEX(_utf8mb4'ガ'), HEX(CONVERT(0xE382ABE38299 USING utf8mb4))),
('additional', 'utf8mb4_ja_0900_as_cs', 'voiced-katakana-decomposed', _utf8mb4'ガ', CONVERT(0xE382ABE38299 USING utf8mb4), 1, 0,
_utf8mb4'ガ' COLLATE utf8mb4_ja_0900_as_cs = CONVERT(0xE382ABE38299 USING utf8mb4),
_utf8mb4'ガ' COLLATE utf8mb4_ja_0900_as_cs LIKE CONVERT(0xE382ABE38299 USING utf8mb4),
CONVERT(0xE382ABE38299 USING utf8mb4) COLLATE utf8mb4_ja_0900_as_cs LIKE _utf8mb4'ガ',
CONCAT(_utf8mb4'ガ', _utf8mb4'zz') COLLATE utf8mb4_ja_0900_as_cs LIKE CONCAT(CONVERT(0xE382ABE38299 USING utf8mb4), _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'ガ', _utf8mb4'zz') COLLATE utf8mb4_ja_0900_as_cs LIKE CONCAT(_utf8mb4'%', CONVERT(0xE382ABE38299 USING utf8mb4), _utf8mb4'%'),
HEX(_utf8mb4'ガ'), HEX(CONVERT(0xE382ABE38299 USING utf8mb4))),
('additional', 'utf8mb4_ja_0900_as_cs_ks', 'voiced-katakana-decomposed', _utf8mb4'ガ', CONVERT(0xE382ABE38299 USING utf8mb4), 1, 0,
_utf8mb4'ガ' COLLATE utf8mb4_ja_0900_as_cs_ks = CONVERT(0xE382ABE38299 USING utf8mb4),
_utf8mb4'ガ' COLLATE utf8mb4_ja_0900_as_cs_ks LIKE CONVERT(0xE382ABE38299 USING utf8mb4),
CONVERT(0xE382ABE38299 USING utf8mb4) COLLATE utf8mb4_ja_0900_as_cs_ks LIKE _utf8mb4'ガ',
CONCAT(_utf8mb4'ガ', _utf8mb4'zz') COLLATE utf8mb4_ja_0900_as_cs_ks LIKE CONCAT(CONVERT(0xE382ABE38299 USING utf8mb4), _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'ガ', _utf8mb4'zz') COLLATE utf8mb4_ja_0900_as_cs_ks LIKE CONCAT(_utf8mb4'%', CONVERT(0xE382ABE38299 USING utf8mb4), _utf8mb4'%'),
HEX(_utf8mb4'ガ'), HEX(CONVERT(0xE382ABE38299 USING utf8mb4))),
('additional', 'utf8mb4_unicode_ci', 'voiced-katakana-decomposed', _utf8mb4'ガ', CONVERT(0xE382ABE38299 USING utf8mb4), 1, 0,
_utf8mb4'ガ' COLLATE utf8mb4_unicode_ci = CONVERT(0xE382ABE38299 USING utf8mb4),
_utf8mb4'ガ' COLLATE utf8mb4_unicode_ci LIKE CONVERT(0xE382ABE38299 USING utf8mb4),
CONVERT(0xE382ABE38299 USING utf8mb4) COLLATE utf8mb4_unicode_ci LIKE _utf8mb4'ガ',
CONCAT(_utf8mb4'ガ', _utf8mb4'zz') COLLATE utf8mb4_unicode_ci LIKE CONCAT(CONVERT(0xE382ABE38299 USING utf8mb4), _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'ガ', _utf8mb4'zz') COLLATE utf8mb4_unicode_ci LIKE CONCAT(_utf8mb4'%', CONVERT(0xE382ABE38299 USING utf8mb4), _utf8mb4'%'),
HEX(_utf8mb4'ガ'), HEX(CONVERT(0xE382ABE38299 USING utf8mb4))),
('additional', 'utf8mb4_0900_ai_ci', 'halfwidth-vs-decomposed', _utf8mb4'ガ', CONVERT(0xE382ABE38299 USING utf8mb4), 1, 1,
_utf8mb4'ガ' COLLATE utf8mb4_0900_ai_ci = CONVERT(0xE382ABE38299 USING utf8mb4),
_utf8mb4'ガ' COLLATE utf8mb4_0900_ai_ci LIKE CONVERT(0xE382ABE38299 USING utf8mb4),
CONVERT(0xE382ABE38299 USING utf8mb4) COLLATE utf8mb4_0900_ai_ci LIKE _utf8mb4'ガ',
CONCAT(_utf8mb4'ガ', _utf8mb4'zz') COLLATE utf8mb4_0900_ai_ci LIKE CONCAT(CONVERT(0xE382ABE38299 USING utf8mb4), _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'ガ', _utf8mb4'zz') COLLATE utf8mb4_0900_ai_ci LIKE CONCAT(_utf8mb4'%', CONVERT(0xE382ABE38299 USING utf8mb4), _utf8mb4'%'),
HEX(_utf8mb4'ガ'), HEX(CONVERT(0xE382ABE38299 USING utf8mb4))),
('additional', 'utf8mb4_0900_as_ci', 'halfwidth-vs-decomposed', _utf8mb4'ガ', CONVERT(0xE382ABE38299 USING utf8mb4), 1, 1,
_utf8mb4'ガ' COLLATE utf8mb4_0900_as_ci = CONVERT(0xE382ABE38299 USING utf8mb4),
_utf8mb4'ガ' COLLATE utf8mb4_0900_as_ci LIKE CONVERT(0xE382ABE38299 USING utf8mb4),
CONVERT(0xE382ABE38299 USING utf8mb4) COLLATE utf8mb4_0900_as_ci LIKE _utf8mb4'ガ',
CONCAT(_utf8mb4'ガ', _utf8mb4'zz') COLLATE utf8mb4_0900_as_ci LIKE CONCAT(CONVERT(0xE382ABE38299 USING utf8mb4), _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'ガ', _utf8mb4'zz') COLLATE utf8mb4_0900_as_ci LIKE CONCAT(_utf8mb4'%', CONVERT(0xE382ABE38299 USING utf8mb4), _utf8mb4'%'),
HEX(_utf8mb4'ガ'), HEX(CONVERT(0xE382ABE38299 USING utf8mb4))),
('additional', 'utf8mb4_0900_as_cs', 'halfwidth-vs-decomposed', _utf8mb4'ガ', CONVERT(0xE382ABE38299 USING utf8mb4), 0, 0,
_utf8mb4'ガ' COLLATE utf8mb4_0900_as_cs = CONVERT(0xE382ABE38299 USING utf8mb4),
_utf8mb4'ガ' COLLATE utf8mb4_0900_as_cs LIKE CONVERT(0xE382ABE38299 USING utf8mb4),
CONVERT(0xE382ABE38299 USING utf8mb4) COLLATE utf8mb4_0900_as_cs LIKE _utf8mb4'ガ',
CONCAT(_utf8mb4'ガ', _utf8mb4'zz') COLLATE utf8mb4_0900_as_cs LIKE CONCAT(CONVERT(0xE382ABE38299 USING utf8mb4), _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'ガ', _utf8mb4'zz') COLLATE utf8mb4_0900_as_cs LIKE CONCAT(_utf8mb4'%', CONVERT(0xE382ABE38299 USING utf8mb4), _utf8mb4'%'),
HEX(_utf8mb4'ガ'), HEX(CONVERT(0xE382ABE38299 USING utf8mb4))),
('additional', 'utf8mb4_ja_0900_as_cs', 'halfwidth-vs-decomposed', _utf8mb4'ガ', CONVERT(0xE382ABE38299 USING utf8mb4), 0, 0,
_utf8mb4'ガ' COLLATE utf8mb4_ja_0900_as_cs = CONVERT(0xE382ABE38299 USING utf8mb4),
_utf8mb4'ガ' COLLATE utf8mb4_ja_0900_as_cs LIKE CONVERT(0xE382ABE38299 USING utf8mb4),
CONVERT(0xE382ABE38299 USING utf8mb4) COLLATE utf8mb4_ja_0900_as_cs LIKE _utf8mb4'ガ',
CONCAT(_utf8mb4'ガ', _utf8mb4'zz') COLLATE utf8mb4_ja_0900_as_cs LIKE CONCAT(CONVERT(0xE382ABE38299 USING utf8mb4), _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'ガ', _utf8mb4'zz') COLLATE utf8mb4_ja_0900_as_cs LIKE CONCAT(_utf8mb4'%', CONVERT(0xE382ABE38299 USING utf8mb4), _utf8mb4'%'),
HEX(_utf8mb4'ガ'), HEX(CONVERT(0xE382ABE38299 USING utf8mb4))),
('additional', 'utf8mb4_ja_0900_as_cs_ks', 'halfwidth-vs-decomposed', _utf8mb4'ガ', CONVERT(0xE382ABE38299 USING utf8mb4), 0, 0,
_utf8mb4'ガ' COLLATE utf8mb4_ja_0900_as_cs_ks = CONVERT(0xE382ABE38299 USING utf8mb4),
_utf8mb4'ガ' COLLATE utf8mb4_ja_0900_as_cs_ks LIKE CONVERT(0xE382ABE38299 USING utf8mb4),
CONVERT(0xE382ABE38299 USING utf8mb4) COLLATE utf8mb4_ja_0900_as_cs_ks LIKE _utf8mb4'ガ',
CONCAT(_utf8mb4'ガ', _utf8mb4'zz') COLLATE utf8mb4_ja_0900_as_cs_ks LIKE CONCAT(CONVERT(0xE382ABE38299 USING utf8mb4), _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'ガ', _utf8mb4'zz') COLLATE utf8mb4_ja_0900_as_cs_ks LIKE CONCAT(_utf8mb4'%', CONVERT(0xE382ABE38299 USING utf8mb4), _utf8mb4'%'),
HEX(_utf8mb4'ガ'), HEX(CONVERT(0xE382ABE38299 USING utf8mb4))),
('additional', 'utf8mb4_unicode_ci', 'halfwidth-vs-decomposed', _utf8mb4'ガ', CONVERT(0xE382ABE38299 USING utf8mb4), 1, 1,
_utf8mb4'ガ' COLLATE utf8mb4_unicode_ci = CONVERT(0xE382ABE38299 USING utf8mb4),
_utf8mb4'ガ' COLLATE utf8mb4_unicode_ci LIKE CONVERT(0xE382ABE38299 USING utf8mb4),
CONVERT(0xE382ABE38299 USING utf8mb4) COLLATE utf8mb4_unicode_ci LIKE _utf8mb4'ガ',
CONCAT(_utf8mb4'ガ', _utf8mb4'zz') COLLATE utf8mb4_unicode_ci LIKE CONCAT(CONVERT(0xE382ABE38299 USING utf8mb4), _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'ガ', _utf8mb4'zz') COLLATE utf8mb4_unicode_ci LIKE CONCAT(_utf8mb4'%', CONVERT(0xE382ABE38299 USING utf8mb4), _utf8mb4'%'),
HEX(_utf8mb4'ガ'), HEX(CONVERT(0xE382ABE38299 USING utf8mb4))),
('additional', 'utf8mb4_0900_ai_ci', 'voiced-word-width', _utf8mb4'ガイド', _utf8mb4'ガイド', 1, 0,
_utf8mb4'ガイド' COLLATE utf8mb4_0900_ai_ci = _utf8mb4'ガイド',
_utf8mb4'ガイド' COLLATE utf8mb4_0900_ai_ci LIKE _utf8mb4'ガイド',
_utf8mb4'ガイド' COLLATE utf8mb4_0900_ai_ci LIKE _utf8mb4'ガイド',
CONCAT(_utf8mb4'ガイド', _utf8mb4'zz') COLLATE utf8mb4_0900_ai_ci LIKE CONCAT(_utf8mb4'ガイド', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'ガイド', _utf8mb4'zz') COLLATE utf8mb4_0900_ai_ci LIKE CONCAT(_utf8mb4'%', _utf8mb4'ガイド', _utf8mb4'%'),
HEX(_utf8mb4'ガイド'), HEX(_utf8mb4'ガイド')),
('additional', 'utf8mb4_0900_as_ci', 'voiced-word-width', _utf8mb4'ガイド', _utf8mb4'ガイド', 1, 0,
_utf8mb4'ガイド' COLLATE utf8mb4_0900_as_ci = _utf8mb4'ガイド',
_utf8mb4'ガイド' COLLATE utf8mb4_0900_as_ci LIKE _utf8mb4'ガイド',
_utf8mb4'ガイド' COLLATE utf8mb4_0900_as_ci LIKE _utf8mb4'ガイド',
CONCAT(_utf8mb4'ガイド', _utf8mb4'zz') COLLATE utf8mb4_0900_as_ci LIKE CONCAT(_utf8mb4'ガイド', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'ガイド', _utf8mb4'zz') COLLATE utf8mb4_0900_as_ci LIKE CONCAT(_utf8mb4'%', _utf8mb4'ガイド', _utf8mb4'%'),
HEX(_utf8mb4'ガイド'), HEX(_utf8mb4'ガイド')),
('additional', 'utf8mb4_unicode_ci', 'voiced-word-width', _utf8mb4'ガイド', _utf8mb4'ガイド', 1, 0,
_utf8mb4'ガイド' COLLATE utf8mb4_unicode_ci = _utf8mb4'ガイド',
_utf8mb4'ガイド' COLLATE utf8mb4_unicode_ci LIKE _utf8mb4'ガイド',
_utf8mb4'ガイド' COLLATE utf8mb4_unicode_ci LIKE _utf8mb4'ガイド',
CONCAT(_utf8mb4'ガイド', _utf8mb4'zz') COLLATE utf8mb4_unicode_ci LIKE CONCAT(_utf8mb4'ガイド', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'ガイド', _utf8mb4'zz') COLLATE utf8mb4_unicode_ci LIKE CONCAT(_utf8mb4'%', _utf8mb4'ガイド', _utf8mb4'%'),
HEX(_utf8mb4'ガイド'), HEX(_utf8mb4'ガイド')),
('additional', 'utf8mb4_0900_ai_ci', 'semi-voiced-katakana-width', _utf8mb4'パ', _utf8mb4'パ', 1, 0,
_utf8mb4'パ' COLLATE utf8mb4_0900_ai_ci = _utf8mb4'パ',
_utf8mb4'パ' COLLATE utf8mb4_0900_ai_ci LIKE _utf8mb4'パ',
_utf8mb4'パ' COLLATE utf8mb4_0900_ai_ci LIKE _utf8mb4'パ',
CONCAT(_utf8mb4'パ', _utf8mb4'zz') COLLATE utf8mb4_0900_ai_ci LIKE CONCAT(_utf8mb4'パ', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'パ', _utf8mb4'zz') COLLATE utf8mb4_0900_ai_ci LIKE CONCAT(_utf8mb4'%', _utf8mb4'パ', _utf8mb4'%'),
HEX(_utf8mb4'パ'), HEX(_utf8mb4'パ')),
('additional', 'utf8mb4_unicode_ci', 'semi-voiced-katakana-width', _utf8mb4'パ', _utf8mb4'パ', 1, 0,
_utf8mb4'パ' COLLATE utf8mb4_unicode_ci = _utf8mb4'パ',
_utf8mb4'パ' COLLATE utf8mb4_unicode_ci LIKE _utf8mb4'パ',
_utf8mb4'パ' COLLATE utf8mb4_unicode_ci LIKE _utf8mb4'パ',
CONCAT(_utf8mb4'パ', _utf8mb4'zz') COLLATE utf8mb4_unicode_ci LIKE CONCAT(_utf8mb4'パ', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'パ', _utf8mb4'zz') COLLATE utf8mb4_unicode_ci LIKE CONCAT(_utf8mb4'%', _utf8mb4'パ', _utf8mb4'%'),
HEX(_utf8mb4'パ'), HEX(_utf8mb4'パ')),
('additional', 'utf8mb4_0900_as_cs', 'semi-voiced-katakana-decomposed', _utf8mb4'パ', CONVERT(0xE3838FE3829A USING utf8mb4), 1, 0,
_utf8mb4'パ' COLLATE utf8mb4_0900_as_cs = CONVERT(0xE3838FE3829A USING utf8mb4),
_utf8mb4'パ' COLLATE utf8mb4_0900_as_cs LIKE CONVERT(0xE3838FE3829A USING utf8mb4),
CONVERT(0xE3838FE3829A USING utf8mb4) COLLATE utf8mb4_0900_as_cs LIKE _utf8mb4'パ',
CONCAT(_utf8mb4'パ', _utf8mb4'zz') COLLATE utf8mb4_0900_as_cs LIKE CONCAT(CONVERT(0xE3838FE3829A USING utf8mb4), _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'パ', _utf8mb4'zz') COLLATE utf8mb4_0900_as_cs LIKE CONCAT(_utf8mb4'%', CONVERT(0xE3838FE3829A USING utf8mb4), _utf8mb4'%'),
HEX(_utf8mb4'パ'), HEX(CONVERT(0xE3838FE3829A USING utf8mb4))),
('additional', 'utf8mb4_ja_0900_as_cs', 'semi-voiced-katakana-decomposed', _utf8mb4'パ', CONVERT(0xE3838FE3829A USING utf8mb4), 1, 0,
_utf8mb4'パ' COLLATE utf8mb4_ja_0900_as_cs = CONVERT(0xE3838FE3829A USING utf8mb4),
_utf8mb4'パ' COLLATE utf8mb4_ja_0900_as_cs LIKE CONVERT(0xE3838FE3829A USING utf8mb4),
CONVERT(0xE3838FE3829A USING utf8mb4) COLLATE utf8mb4_ja_0900_as_cs LIKE _utf8mb4'パ',
CONCAT(_utf8mb4'パ', _utf8mb4'zz') COLLATE utf8mb4_ja_0900_as_cs LIKE CONCAT(CONVERT(0xE3838FE3829A USING utf8mb4), _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'パ', _utf8mb4'zz') COLLATE utf8mb4_ja_0900_as_cs LIKE CONCAT(_utf8mb4'%', CONVERT(0xE3838FE3829A USING utf8mb4), _utf8mb4'%'),
HEX(_utf8mb4'パ'), HEX(CONVERT(0xE3838FE3829A USING utf8mb4))),
('additional', 'utf8mb4_0900_ai_ci', 'accent-decomposed', _utf8mb4'é', CONVERT(0x65CC81 USING utf8mb4), 1, 0,
_utf8mb4'é' COLLATE utf8mb4_0900_ai_ci = CONVERT(0x65CC81 USING utf8mb4),
_utf8mb4'é' COLLATE utf8mb4_0900_ai_ci LIKE CONVERT(0x65CC81 USING utf8mb4),
CONVERT(0x65CC81 USING utf8mb4) COLLATE utf8mb4_0900_ai_ci LIKE _utf8mb4'é',
CONCAT(_utf8mb4'é', _utf8mb4'zz') COLLATE utf8mb4_0900_ai_ci LIKE CONCAT(CONVERT(0x65CC81 USING utf8mb4), _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'é', _utf8mb4'zz') COLLATE utf8mb4_0900_ai_ci LIKE CONCAT(_utf8mb4'%', CONVERT(0x65CC81 USING utf8mb4), _utf8mb4'%'),
HEX(_utf8mb4'é'), HEX(CONVERT(0x65CC81 USING utf8mb4))),
('additional', 'utf8mb4_0900_as_cs', 'accent-decomposed', _utf8mb4'é', CONVERT(0x65CC81 USING utf8mb4), 1, 0,
_utf8mb4'é' COLLATE utf8mb4_0900_as_cs = CONVERT(0x65CC81 USING utf8mb4),
_utf8mb4'é' COLLATE utf8mb4_0900_as_cs LIKE CONVERT(0x65CC81 USING utf8mb4),
CONVERT(0x65CC81 USING utf8mb4) COLLATE utf8mb4_0900_as_cs LIKE _utf8mb4'é',
CONCAT(_utf8mb4'é', _utf8mb4'zz') COLLATE utf8mb4_0900_as_cs LIKE CONCAT(CONVERT(0x65CC81 USING utf8mb4), _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'é', _utf8mb4'zz') COLLATE utf8mb4_0900_as_cs LIKE CONCAT(_utf8mb4'%', CONVERT(0x65CC81 USING utf8mb4), _utf8mb4'%'),
HEX(_utf8mb4'é'), HEX(CONVERT(0x65CC81 USING utf8mb4))),
('additional', 'utf8mb4_ja_0900_as_cs', 'accent-decomposed', _utf8mb4'é', CONVERT(0x65CC81 USING utf8mb4), 1, 0,
_utf8mb4'é' COLLATE utf8mb4_ja_0900_as_cs = CONVERT(0x65CC81 USING utf8mb4),
_utf8mb4'é' COLLATE utf8mb4_ja_0900_as_cs LIKE CONVERT(0x65CC81 USING utf8mb4),
CONVERT(0x65CC81 USING utf8mb4) COLLATE utf8mb4_ja_0900_as_cs LIKE _utf8mb4'é',
CONCAT(_utf8mb4'é', _utf8mb4'zz') COLLATE utf8mb4_ja_0900_as_cs LIKE CONCAT(CONVERT(0x65CC81 USING utf8mb4), _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'é', _utf8mb4'zz') COLLATE utf8mb4_ja_0900_as_cs LIKE CONCAT(_utf8mb4'%', CONVERT(0x65CC81 USING utf8mb4), _utf8mb4'%'),
HEX(_utf8mb4'é'), HEX(CONVERT(0x65CC81 USING utf8mb4))),
('additional', 'utf8mb4_unicode_ci', 'accent-decomposed', _utf8mb4'é', CONVERT(0x65CC81 USING utf8mb4), 1, 0,
_utf8mb4'é' COLLATE utf8mb4_unicode_ci = CONVERT(0x65CC81 USING utf8mb4),
_utf8mb4'é' COLLATE utf8mb4_unicode_ci LIKE CONVERT(0x65CC81 USING utf8mb4),
CONVERT(0x65CC81 USING utf8mb4) COLLATE utf8mb4_unicode_ci LIKE _utf8mb4'é',
CONCAT(_utf8mb4'é', _utf8mb4'zz') COLLATE utf8mb4_unicode_ci LIKE CONCAT(CONVERT(0x65CC81 USING utf8mb4), _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'é', _utf8mb4'zz') COLLATE utf8mb4_unicode_ci LIKE CONCAT(_utf8mb4'%', CONVERT(0x65CC81 USING utf8mb4), _utf8mb4'%'),
HEX(_utf8mb4'é'), HEX(CONVERT(0x65CC81 USING utf8mb4))),
('additional', 'utf8mb4_0900_ai_ci', 'sharp-s-expansion', _utf8mb4'ß', _utf8mb4'ss', 1, 0,
_utf8mb4'ß' COLLATE utf8mb4_0900_ai_ci = _utf8mb4'ss',
_utf8mb4'ß' COLLATE utf8mb4_0900_ai_ci LIKE _utf8mb4'ss',
_utf8mb4'ss' COLLATE utf8mb4_0900_ai_ci LIKE _utf8mb4'ß',
CONCAT(_utf8mb4'ß', _utf8mb4'zz') COLLATE utf8mb4_0900_ai_ci LIKE CONCAT(_utf8mb4'ss', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'ß', _utf8mb4'zz') COLLATE utf8mb4_0900_ai_ci LIKE CONCAT(_utf8mb4'%', _utf8mb4'ss', _utf8mb4'%'),
HEX(_utf8mb4'ß'), HEX(_utf8mb4'ss')),
('additional', 'utf8mb4_0900_as_ci', 'sharp-s-expansion', _utf8mb4'ß', _utf8mb4'ss', 0, 0,
_utf8mb4'ß' COLLATE utf8mb4_0900_as_ci = _utf8mb4'ss',
_utf8mb4'ß' COLLATE utf8mb4_0900_as_ci LIKE _utf8mb4'ss',
_utf8mb4'ss' COLLATE utf8mb4_0900_as_ci LIKE _utf8mb4'ß',
CONCAT(_utf8mb4'ß', _utf8mb4'zz') COLLATE utf8mb4_0900_as_ci LIKE CONCAT(_utf8mb4'ss', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'ß', _utf8mb4'zz') COLLATE utf8mb4_0900_as_ci LIKE CONCAT(_utf8mb4'%', _utf8mb4'ss', _utf8mb4'%'),
HEX(_utf8mb4'ß'), HEX(_utf8mb4'ss')),
('additional', 'utf8mb4_unicode_ci', 'sharp-s-expansion', _utf8mb4'ß', _utf8mb4'ss', 1, 0,
_utf8mb4'ß' COLLATE utf8mb4_unicode_ci = _utf8mb4'ss',
_utf8mb4'ß' COLLATE utf8mb4_unicode_ci LIKE _utf8mb4'ss',
_utf8mb4'ss' COLLATE utf8mb4_unicode_ci LIKE _utf8mb4'ß',
CONCAT(_utf8mb4'ß', _utf8mb4'zz') COLLATE utf8mb4_unicode_ci LIKE CONCAT(_utf8mb4'ss', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'ß', _utf8mb4'zz') COLLATE utf8mb4_unicode_ci LIKE CONCAT(_utf8mb4'%', _utf8mb4'ss', _utf8mb4'%'),
HEX(_utf8mb4'ß'), HEX(_utf8mb4'ss')),
('additional', 'utf8mb4_0900_ai_ci', 'compat-corporation', _utf8mb4'(株)', _utf8mb4'㈱', 1, 0,
_utf8mb4'(株)' COLLATE utf8mb4_0900_ai_ci = _utf8mb4'㈱',
_utf8mb4'(株)' COLLATE utf8mb4_0900_ai_ci LIKE _utf8mb4'㈱',
_utf8mb4'㈱' COLLATE utf8mb4_0900_ai_ci LIKE _utf8mb4'(株)',
CONCAT(_utf8mb4'(株)', _utf8mb4'zz') COLLATE utf8mb4_0900_ai_ci LIKE CONCAT(_utf8mb4'㈱', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'(株)', _utf8mb4'zz') COLLATE utf8mb4_0900_ai_ci LIKE CONCAT(_utf8mb4'%', _utf8mb4'㈱', _utf8mb4'%'),
HEX(_utf8mb4'(株)'), HEX(_utf8mb4'㈱')),
('additional', 'utf8mb4_unicode_ci', 'compat-corporation', _utf8mb4'(株)', _utf8mb4'㈱', 1, 0,
_utf8mb4'(株)' COLLATE utf8mb4_unicode_ci = _utf8mb4'㈱',
_utf8mb4'(株)' COLLATE utf8mb4_unicode_ci LIKE _utf8mb4'㈱',
_utf8mb4'㈱' COLLATE utf8mb4_unicode_ci LIKE _utf8mb4'(株)',
CONCAT(_utf8mb4'(株)', _utf8mb4'zz') COLLATE utf8mb4_unicode_ci LIKE CONCAT(_utf8mb4'㈱', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'(株)', _utf8mb4'zz') COLLATE utf8mb4_unicode_ci LIKE CONCAT(_utf8mb4'%', _utf8mb4'㈱', _utf8mb4'%'),
HEX(_utf8mb4'(株)'), HEX(_utf8mb4'㈱')),
('additional', 'utf8mb4_ja_0900_as_cs', 'compat-corporation', _utf8mb4'(株)', _utf8mb4'㈱', 0, 0,
_utf8mb4'(株)' COLLATE utf8mb4_ja_0900_as_cs = _utf8mb4'㈱',
_utf8mb4'(株)' COLLATE utf8mb4_ja_0900_as_cs LIKE _utf8mb4'㈱',
_utf8mb4'㈱' COLLATE utf8mb4_ja_0900_as_cs LIKE _utf8mb4'(株)',
CONCAT(_utf8mb4'(株)', _utf8mb4'zz') COLLATE utf8mb4_ja_0900_as_cs LIKE CONCAT(_utf8mb4'㈱', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'(株)', _utf8mb4'zz') COLLATE utf8mb4_ja_0900_as_cs LIKE CONCAT(_utf8mb4'%', _utf8mb4'㈱', _utf8mb4'%'),
HEX(_utf8mb4'(株)'), HEX(_utf8mb4'㈱')),
('additional', 'utf8mb4_0900_ai_ci', 'compat-numero', _utf8mb4'No1', _utf8mb4'№1', 1, 0,
_utf8mb4'No1' COLLATE utf8mb4_0900_ai_ci = _utf8mb4'№1',
_utf8mb4'No1' COLLATE utf8mb4_0900_ai_ci LIKE _utf8mb4'№1',
_utf8mb4'№1' COLLATE utf8mb4_0900_ai_ci LIKE _utf8mb4'No1',
CONCAT(_utf8mb4'No1', _utf8mb4'zz') COLLATE utf8mb4_0900_ai_ci LIKE CONCAT(_utf8mb4'№1', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'No1', _utf8mb4'zz') COLLATE utf8mb4_0900_ai_ci LIKE CONCAT(_utf8mb4'%', _utf8mb4'№1', _utf8mb4'%'),
HEX(_utf8mb4'No1'), HEX(_utf8mb4'№1')),
('additional', 'utf8mb4_0900_ai_ci', 'compat-ligature', _utf8mb4'fi', _utf8mb4'fi', 1, 0,
_utf8mb4'fi' COLLATE utf8mb4_0900_ai_ci = _utf8mb4'fi',
_utf8mb4'fi' COLLATE utf8mb4_0900_ai_ci LIKE _utf8mb4'fi',
_utf8mb4'fi' COLLATE utf8mb4_0900_ai_ci LIKE _utf8mb4'fi',
CONCAT(_utf8mb4'fi', _utf8mb4'zz') COLLATE utf8mb4_0900_ai_ci LIKE CONCAT(_utf8mb4'fi', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'fi', _utf8mb4'zz') COLLATE utf8mb4_0900_ai_ci LIKE CONCAT(_utf8mb4'%', _utf8mb4'fi', _utf8mb4'%'),
HEX(_utf8mb4'fi'), HEX(_utf8mb4'fi')),
('additional', 'utf8mb4_0900_ai_ci', 'compat-circled', _utf8mb4'1', _utf8mb4'①', 1, 1,
_utf8mb4'1' COLLATE utf8mb4_0900_ai_ci = _utf8mb4'①',
_utf8mb4'1' COLLATE utf8mb4_0900_ai_ci LIKE _utf8mb4'①',
_utf8mb4'①' COLLATE utf8mb4_0900_ai_ci LIKE _utf8mb4'1',
CONCAT(_utf8mb4'1', _utf8mb4'zz') COLLATE utf8mb4_0900_ai_ci LIKE CONCAT(_utf8mb4'①', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'1', _utf8mb4'zz') COLLATE utf8mb4_0900_ai_ci LIKE CONCAT(_utf8mb4'%', _utf8mb4'①', _utf8mb4'%'),
HEX(_utf8mb4'1'), HEX(_utf8mb4'①')),
('additional', 'utf8mb4_ja_0900_as_cs', 'compat-circled', _utf8mb4'1', _utf8mb4'①', 0, 0,
_utf8mb4'1' COLLATE utf8mb4_ja_0900_as_cs = _utf8mb4'①',
_utf8mb4'1' COLLATE utf8mb4_ja_0900_as_cs LIKE _utf8mb4'①',
_utf8mb4'①' COLLATE utf8mb4_ja_0900_as_cs LIKE _utf8mb4'1',
CONCAT(_utf8mb4'1', _utf8mb4'zz') COLLATE utf8mb4_ja_0900_as_cs LIKE CONCAT(_utf8mb4'①', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'1', _utf8mb4'zz') COLLATE utf8mb4_ja_0900_as_cs LIKE CONCAT(_utf8mb4'%', _utf8mb4'①', _utf8mb4'%'),
HEX(_utf8mb4'1'), HEX(_utf8mb4'①')),
('additional', 'utf8mb4_0900_ai_ci', 'compat-roman', _utf8mb4'I', _utf8mb4'Ⅰ', 1, 1,
_utf8mb4'I' COLLATE utf8mb4_0900_ai_ci = _utf8mb4'Ⅰ',
_utf8mb4'I' COLLATE utf8mb4_0900_ai_ci LIKE _utf8mb4'Ⅰ',
_utf8mb4'Ⅰ' COLLATE utf8mb4_0900_ai_ci LIKE _utf8mb4'I',
CONCAT(_utf8mb4'I', _utf8mb4'zz') COLLATE utf8mb4_0900_ai_ci LIKE CONCAT(_utf8mb4'Ⅰ', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'I', _utf8mb4'zz') COLLATE utf8mb4_0900_ai_ci LIKE CONCAT(_utf8mb4'%', _utf8mb4'Ⅰ', _utf8mb4'%'),
HEX(_utf8mb4'I'), HEX(_utf8mb4'Ⅰ')),
('additional', 'utf8mb4_0900_as_ci', 'compat-roman', _utf8mb4'I', _utf8mb4'Ⅰ', 1, 1,
_utf8mb4'I' COLLATE utf8mb4_0900_as_ci = _utf8mb4'Ⅰ',
_utf8mb4'I' COLLATE utf8mb4_0900_as_ci LIKE _utf8mb4'Ⅰ',
_utf8mb4'Ⅰ' COLLATE utf8mb4_0900_as_ci LIKE _utf8mb4'I',
CONCAT(_utf8mb4'I', _utf8mb4'zz') COLLATE utf8mb4_0900_as_ci LIKE CONCAT(_utf8mb4'Ⅰ', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'I', _utf8mb4'zz') COLLATE utf8mb4_0900_as_ci LIKE CONCAT(_utf8mb4'%', _utf8mb4'Ⅰ', _utf8mb4'%'),
HEX(_utf8mb4'I'), HEX(_utf8mb4'Ⅰ')),
('additional', 'utf8mb4_0900_ai_ci', 'zero-width-space', _utf8mb4'ab', CONVERT(0x61E2808B62 USING utf8mb4), 1, 0,
_utf8mb4'ab' COLLATE utf8mb4_0900_ai_ci = CONVERT(0x61E2808B62 USING utf8mb4),
_utf8mb4'ab' COLLATE utf8mb4_0900_ai_ci LIKE CONVERT(0x61E2808B62 USING utf8mb4),
CONVERT(0x61E2808B62 USING utf8mb4) COLLATE utf8mb4_0900_ai_ci LIKE _utf8mb4'ab',
CONCAT(_utf8mb4'ab', _utf8mb4'zz') COLLATE utf8mb4_0900_ai_ci LIKE CONCAT(CONVERT(0x61E2808B62 USING utf8mb4), _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'ab', _utf8mb4'zz') COLLATE utf8mb4_0900_ai_ci LIKE CONCAT(_utf8mb4'%', CONVERT(0x61E2808B62 USING utf8mb4), _utf8mb4'%'),
HEX(_utf8mb4'ab'), HEX(CONVERT(0x61E2808B62 USING utf8mb4))),
('additional', 'utf8mb4_0900_as_cs', 'zero-width-space', _utf8mb4'ab', CONVERT(0x61E2808B62 USING utf8mb4), 1, 0,
_utf8mb4'ab' COLLATE utf8mb4_0900_as_cs = CONVERT(0x61E2808B62 USING utf8mb4),
_utf8mb4'ab' COLLATE utf8mb4_0900_as_cs LIKE CONVERT(0x61E2808B62 USING utf8mb4),
CONVERT(0x61E2808B62 USING utf8mb4) COLLATE utf8mb4_0900_as_cs LIKE _utf8mb4'ab',
CONCAT(_utf8mb4'ab', _utf8mb4'zz') COLLATE utf8mb4_0900_as_cs LIKE CONCAT(CONVERT(0x61E2808B62 USING utf8mb4), _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'ab', _utf8mb4'zz') COLLATE utf8mb4_0900_as_cs LIKE CONCAT(_utf8mb4'%', CONVERT(0x61E2808B62 USING utf8mb4), _utf8mb4'%'),
HEX(_utf8mb4'ab'), HEX(CONVERT(0x61E2808B62 USING utf8mb4))),
('additional', 'utf8mb4_ja_0900_as_cs', 'zero-width-space', _utf8mb4'ab', CONVERT(0x61E2808B62 USING utf8mb4), 1, 0,
_utf8mb4'ab' COLLATE utf8mb4_ja_0900_as_cs = CONVERT(0x61E2808B62 USING utf8mb4),
_utf8mb4'ab' COLLATE utf8mb4_ja_0900_as_cs LIKE CONVERT(0x61E2808B62 USING utf8mb4),
CONVERT(0x61E2808B62 USING utf8mb4) COLLATE utf8mb4_ja_0900_as_cs LIKE _utf8mb4'ab',
CONCAT(_utf8mb4'ab', _utf8mb4'zz') COLLATE utf8mb4_ja_0900_as_cs LIKE CONCAT(CONVERT(0x61E2808B62 USING utf8mb4), _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'ab', _utf8mb4'zz') COLLATE utf8mb4_ja_0900_as_cs LIKE CONCAT(_utf8mb4'%', CONVERT(0x61E2808B62 USING utf8mb4), _utf8mb4'%'),
HEX(_utf8mb4'ab'), HEX(CONVERT(0x61E2808B62 USING utf8mb4))),
('additional', 'utf8mb4_unicode_ci', 'zero-width-space', _utf8mb4'ab', CONVERT(0x61E2808B62 USING utf8mb4), 1, 0,
_utf8mb4'ab' COLLATE utf8mb4_unicode_ci = CONVERT(0x61E2808B62 USING utf8mb4),
_utf8mb4'ab' COLLATE utf8mb4_unicode_ci LIKE CONVERT(0x61E2808B62 USING utf8mb4),
CONVERT(0x61E2808B62 USING utf8mb4) COLLATE utf8mb4_unicode_ci LIKE _utf8mb4'ab',
CONCAT(_utf8mb4'ab', _utf8mb4'zz') COLLATE utf8mb4_unicode_ci LIKE CONCAT(CONVERT(0x61E2808B62 USING utf8mb4), _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'ab', _utf8mb4'zz') COLLATE utf8mb4_unicode_ci LIKE CONCAT(_utf8mb4'%', CONVERT(0x61E2808B62 USING utf8mb4), _utf8mb4'%'),
HEX(_utf8mb4'ab'), HEX(CONVERT(0x61E2808B62 USING utf8mb4))),
('additional', 'utf8mb4_bin', 'trailing-space', _utf8mb4'ABC', _utf8mb4'ABC ', 1, 0,
_utf8mb4'ABC' COLLATE utf8mb4_bin = _utf8mb4'ABC ',
_utf8mb4'ABC' COLLATE utf8mb4_bin LIKE _utf8mb4'ABC ',
_utf8mb4'ABC ' COLLATE utf8mb4_bin LIKE _utf8mb4'ABC',
CONCAT(_utf8mb4'ABC', _utf8mb4'zz') COLLATE utf8mb4_bin LIKE CONCAT(_utf8mb4'ABC ', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'ABC', _utf8mb4'zz') COLLATE utf8mb4_bin LIKE CONCAT(_utf8mb4'%', _utf8mb4'ABC ', _utf8mb4'%'),
HEX(_utf8mb4'ABC'), HEX(_utf8mb4'ABC ')),
('additional', 'utf8mb4_general_ci', 'trailing-space', _utf8mb4'ABC', _utf8mb4'ABC ', 1, 0,
_utf8mb4'ABC' COLLATE utf8mb4_general_ci = _utf8mb4'ABC ',
_utf8mb4'ABC' COLLATE utf8mb4_general_ci LIKE _utf8mb4'ABC ',
_utf8mb4'ABC ' COLLATE utf8mb4_general_ci LIKE _utf8mb4'ABC',
CONCAT(_utf8mb4'ABC', _utf8mb4'zz') COLLATE utf8mb4_general_ci LIKE CONCAT(_utf8mb4'ABC ', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'ABC', _utf8mb4'zz') COLLATE utf8mb4_general_ci LIKE CONCAT(_utf8mb4'%', _utf8mb4'ABC ', _utf8mb4'%'),
HEX(_utf8mb4'ABC'), HEX(_utf8mb4'ABC ')),
('additional', 'utf8mb4_unicode_ci', 'trailing-space', _utf8mb4'ABC', _utf8mb4'ABC ', 1, 0,
_utf8mb4'ABC' COLLATE utf8mb4_unicode_ci = _utf8mb4'ABC ',
_utf8mb4'ABC' COLLATE utf8mb4_unicode_ci LIKE _utf8mb4'ABC ',
_utf8mb4'ABC ' COLLATE utf8mb4_unicode_ci LIKE _utf8mb4'ABC',
CONCAT(_utf8mb4'ABC', _utf8mb4'zz') COLLATE utf8mb4_unicode_ci LIKE CONCAT(_utf8mb4'ABC ', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'ABC', _utf8mb4'zz') COLLATE utf8mb4_unicode_ci LIKE CONCAT(_utf8mb4'%', _utf8mb4'ABC ', _utf8mb4'%'),
HEX(_utf8mb4'ABC'), HEX(_utf8mb4'ABC ')),
('additional', 'utf8mb4_0900_bin', 'trailing-space', _utf8mb4'ABC', _utf8mb4'ABC ', 0, 0,
_utf8mb4'ABC' COLLATE utf8mb4_0900_bin = _utf8mb4'ABC ',
_utf8mb4'ABC' COLLATE utf8mb4_0900_bin LIKE _utf8mb4'ABC ',
_utf8mb4'ABC ' COLLATE utf8mb4_0900_bin LIKE _utf8mb4'ABC',
CONCAT(_utf8mb4'ABC', _utf8mb4'zz') COLLATE utf8mb4_0900_bin LIKE CONCAT(_utf8mb4'ABC ', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'ABC', _utf8mb4'zz') COLLATE utf8mb4_0900_bin LIKE CONCAT(_utf8mb4'%', _utf8mb4'ABC ', _utf8mb4'%'),
HEX(_utf8mb4'ABC'), HEX(_utf8mb4'ABC ')),
('additional', 'utf8mb4_0900_ai_ci', 'trailing-space', _utf8mb4'ABC', _utf8mb4'ABC ', 0, 0,
_utf8mb4'ABC' COLLATE utf8mb4_0900_ai_ci = _utf8mb4'ABC ',
_utf8mb4'ABC' COLLATE utf8mb4_0900_ai_ci LIKE _utf8mb4'ABC ',
_utf8mb4'ABC ' COLLATE utf8mb4_0900_ai_ci LIKE _utf8mb4'ABC',
CONCAT(_utf8mb4'ABC', _utf8mb4'zz') COLLATE utf8mb4_0900_ai_ci LIKE CONCAT(_utf8mb4'ABC ', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'ABC', _utf8mb4'zz') COLLATE utf8mb4_0900_ai_ci LIKE CONCAT(_utf8mb4'%', _utf8mb4'ABC ', _utf8mb4'%'),
HEX(_utf8mb4'ABC'), HEX(_utf8mb4'ABC ')),
('additional', 'utf8mb4_0900_ai_ci', 'space-width', _utf8mb4' ', _utf8mb4' ', 1, 1,
_utf8mb4' ' COLLATE utf8mb4_0900_ai_ci = _utf8mb4' ',
_utf8mb4' ' COLLATE utf8mb4_0900_ai_ci LIKE _utf8mb4' ',
_utf8mb4' ' COLLATE utf8mb4_0900_ai_ci LIKE _utf8mb4' ',
CONCAT(_utf8mb4' ', _utf8mb4'zz') COLLATE utf8mb4_0900_ai_ci LIKE CONCAT(_utf8mb4' ', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4' ', _utf8mb4'zz') COLLATE utf8mb4_0900_ai_ci LIKE CONCAT(_utf8mb4'%', _utf8mb4' ', _utf8mb4'%'),
HEX(_utf8mb4' '), HEX(_utf8mb4' ')),
('additional', 'utf8mb4_ja_0900_as_cs', 'space-width', _utf8mb4' ', _utf8mb4' ', 1, 1,
_utf8mb4' ' COLLATE utf8mb4_ja_0900_as_cs = _utf8mb4' ',
_utf8mb4' ' COLLATE utf8mb4_ja_0900_as_cs LIKE _utf8mb4' ',
_utf8mb4' ' COLLATE utf8mb4_ja_0900_as_cs LIKE _utf8mb4' ',
CONCAT(_utf8mb4' ', _utf8mb4'zz') COLLATE utf8mb4_ja_0900_as_cs LIKE CONCAT(_utf8mb4' ', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4' ', _utf8mb4'zz') COLLATE utf8mb4_ja_0900_as_cs LIKE CONCAT(_utf8mb4'%', _utf8mb4' ', _utf8mb4'%'),
HEX(_utf8mb4' '), HEX(_utf8mb4' ')),
('additional', 'utf8mb4_0900_as_cs', 'space-width', _utf8mb4' ', _utf8mb4' ', 0, 0,
_utf8mb4' ' COLLATE utf8mb4_0900_as_cs = _utf8mb4' ',
_utf8mb4' ' COLLATE utf8mb4_0900_as_cs LIKE _utf8mb4' ',
_utf8mb4' ' COLLATE utf8mb4_0900_as_cs LIKE _utf8mb4' ',
CONCAT(_utf8mb4' ', _utf8mb4'zz') COLLATE utf8mb4_0900_as_cs LIKE CONCAT(_utf8mb4' ', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4' ', _utf8mb4'zz') COLLATE utf8mb4_0900_as_cs LIKE CONCAT(_utf8mb4'%', _utf8mb4' ', _utf8mb4'%'),
HEX(_utf8mb4' '), HEX(_utf8mb4' ')),
('additional', 'utf8mb4_0900_ai_ci', 'alnum-width', _utf8mb4'ABC123', _utf8mb4'ABC123', 1, 1,
_utf8mb4'ABC123' COLLATE utf8mb4_0900_ai_ci = _utf8mb4'ABC123',
_utf8mb4'ABC123' COLLATE utf8mb4_0900_ai_ci LIKE _utf8mb4'ABC123',
_utf8mb4'ABC123' COLLATE utf8mb4_0900_ai_ci LIKE _utf8mb4'ABC123',
CONCAT(_utf8mb4'ABC123', _utf8mb4'zz') COLLATE utf8mb4_0900_ai_ci LIKE CONCAT(_utf8mb4'ABC123', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'ABC123', _utf8mb4'zz') COLLATE utf8mb4_0900_ai_ci LIKE CONCAT(_utf8mb4'%', _utf8mb4'ABC123', _utf8mb4'%'),
HEX(_utf8mb4'ABC123'), HEX(_utf8mb4'ABC123')),
('additional', 'utf8mb4_ja_0900_as_cs', 'alnum-width', _utf8mb4'ABC123', _utf8mb4'ABC123', 1, 1,
_utf8mb4'ABC123' COLLATE utf8mb4_ja_0900_as_cs = _utf8mb4'ABC123',
_utf8mb4'ABC123' COLLATE utf8mb4_ja_0900_as_cs LIKE _utf8mb4'ABC123',
_utf8mb4'ABC123' COLLATE utf8mb4_ja_0900_as_cs LIKE _utf8mb4'ABC123',
CONCAT(_utf8mb4'ABC123', _utf8mb4'zz') COLLATE utf8mb4_ja_0900_as_cs LIKE CONCAT(_utf8mb4'ABC123', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'ABC123', _utf8mb4'zz') COLLATE utf8mb4_ja_0900_as_cs LIKE CONCAT(_utf8mb4'%', _utf8mb4'ABC123', _utf8mb4'%'),
HEX(_utf8mb4'ABC123'), HEX(_utf8mb4'ABC123')),
('additional', 'utf8mb4_0900_ai_ci', 'product-width', _utf8mb4'商品(赤)', _utf8mb4'商品(赤)', 1, 1,
_utf8mb4'商品(赤)' COLLATE utf8mb4_0900_ai_ci = _utf8mb4'商品(赤)',
_utf8mb4'商品(赤)' COLLATE utf8mb4_0900_ai_ci LIKE _utf8mb4'商品(赤)',
_utf8mb4'商品(赤)' COLLATE utf8mb4_0900_ai_ci LIKE _utf8mb4'商品(赤)',
CONCAT(_utf8mb4'商品(赤)', _utf8mb4'zz') COLLATE utf8mb4_0900_ai_ci LIKE CONCAT(_utf8mb4'商品(赤)', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'商品(赤)', _utf8mb4'zz') COLLATE utf8mb4_0900_ai_ci LIKE CONCAT(_utf8mb4'%', _utf8mb4'商品(赤)', _utf8mb4'%'),
HEX(_utf8mb4'商品(赤)'), HEX(_utf8mb4'商品(赤)')),
('additional', 'utf8mb4_ja_0900_as_cs', 'product-width', _utf8mb4'商品(赤)', _utf8mb4'商品(赤)', 1, 1,
_utf8mb4'商品(赤)' COLLATE utf8mb4_ja_0900_as_cs = _utf8mb4'商品(赤)',
_utf8mb4'商品(赤)' COLLATE utf8mb4_ja_0900_as_cs LIKE _utf8mb4'商品(赤)',
_utf8mb4'商品(赤)' COLLATE utf8mb4_ja_0900_as_cs LIKE _utf8mb4'商品(赤)',
CONCAT(_utf8mb4'商品(赤)', _utf8mb4'zz') COLLATE utf8mb4_ja_0900_as_cs LIKE CONCAT(_utf8mb4'商品(赤)', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'商品(赤)', _utf8mb4'zz') COLLATE utf8mb4_ja_0900_as_cs LIKE CONCAT(_utf8mb4'%', _utf8mb4'商品(赤)', _utf8mb4'%'),
HEX(_utf8mb4'商品(赤)'), HEX(_utf8mb4'商品(赤)')),
('additional', 'utf8mb4_0900_as_cs', 'product-width', _utf8mb4'商品(赤)', _utf8mb4'商品(赤)', 0, 0,
_utf8mb4'商品(赤)' COLLATE utf8mb4_0900_as_cs = _utf8mb4'商品(赤)',
_utf8mb4'商品(赤)' COLLATE utf8mb4_0900_as_cs LIKE _utf8mb4'商品(赤)',
_utf8mb4'商品(赤)' COLLATE utf8mb4_0900_as_cs LIKE _utf8mb4'商品(赤)',
CONCAT(_utf8mb4'商品(赤)', _utf8mb4'zz') COLLATE utf8mb4_0900_as_cs LIKE CONCAT(_utf8mb4'商品(赤)', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'商品(赤)', _utf8mb4'zz') COLLATE utf8mb4_0900_as_cs LIKE CONCAT(_utf8mb4'%', _utf8mb4'商品(赤)', _utf8mb4'%'),
HEX(_utf8mb4'商品(赤)'), HEX(_utf8mb4'商品(赤)')),
('additional', 'utf8mb4_0900_ai_ci', 'semi-voicing', _utf8mb4'は', _utf8mb4'ぱ', 1, 1,
_utf8mb4'は' COLLATE utf8mb4_0900_ai_ci = _utf8mb4'ぱ',
_utf8mb4'は' COLLATE utf8mb4_0900_ai_ci LIKE _utf8mb4'ぱ',
_utf8mb4'ぱ' COLLATE utf8mb4_0900_ai_ci LIKE _utf8mb4'は',
CONCAT(_utf8mb4'は', _utf8mb4'zz') COLLATE utf8mb4_0900_ai_ci LIKE CONCAT(_utf8mb4'ぱ', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'は', _utf8mb4'zz') COLLATE utf8mb4_0900_ai_ci LIKE CONCAT(_utf8mb4'%', _utf8mb4'ぱ', _utf8mb4'%'),
HEX(_utf8mb4'は'), HEX(_utf8mb4'ぱ')),
('additional', 'utf8mb4_0900_as_ci', 'semi-voicing', _utf8mb4'は', _utf8mb4'ぱ', 0, 0,
_utf8mb4'は' COLLATE utf8mb4_0900_as_ci = _utf8mb4'ぱ',
_utf8mb4'は' COLLATE utf8mb4_0900_as_ci LIKE _utf8mb4'ぱ',
_utf8mb4'ぱ' COLLATE utf8mb4_0900_as_ci LIKE _utf8mb4'は',
CONCAT(_utf8mb4'は', _utf8mb4'zz') COLLATE utf8mb4_0900_as_ci LIKE CONCAT(_utf8mb4'ぱ', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'は', _utf8mb4'zz') COLLATE utf8mb4_0900_as_ci LIKE CONCAT(_utf8mb4'%', _utf8mb4'ぱ', _utf8mb4'%'),
HEX(_utf8mb4'は'), HEX(_utf8mb4'ぱ')),
('additional', 'utf8mb4_0900_ai_ci', 'email-case', _utf8mb4'User@example.com', _utf8mb4'user@example.com', 1, 1,
_utf8mb4'User@example.com' COLLATE utf8mb4_0900_ai_ci = _utf8mb4'user@example.com',
_utf8mb4'User@example.com' COLLATE utf8mb4_0900_ai_ci LIKE _utf8mb4'user@example.com',
_utf8mb4'user@example.com' COLLATE utf8mb4_0900_ai_ci LIKE _utf8mb4'User@example.com',
CONCAT(_utf8mb4'User@example.com', _utf8mb4'zz') COLLATE utf8mb4_0900_ai_ci LIKE CONCAT(_utf8mb4'user@example.com', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'User@example.com', _utf8mb4'zz') COLLATE utf8mb4_0900_ai_ci LIKE CONCAT(_utf8mb4'%', _utf8mb4'user@example.com', _utf8mb4'%'),
HEX(_utf8mb4'User@example.com'), HEX(_utf8mb4'user@example.com')),
('additional', 'utf8mb4_general_ci', 'case', _utf8mb4'Cafe', _utf8mb4'cafe', 1, 1,
_utf8mb4'Cafe' COLLATE utf8mb4_general_ci = _utf8mb4'cafe',
_utf8mb4'Cafe' COLLATE utf8mb4_general_ci LIKE _utf8mb4'cafe',
_utf8mb4'cafe' COLLATE utf8mb4_general_ci LIKE _utf8mb4'Cafe',
CONCAT(_utf8mb4'Cafe', _utf8mb4'zz') COLLATE utf8mb4_general_ci LIKE CONCAT(_utf8mb4'cafe', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'Cafe', _utf8mb4'zz') COLLATE utf8mb4_general_ci LIKE CONCAT(_utf8mb4'%', _utf8mb4'cafe', _utf8mb4'%'),
HEX(_utf8mb4'Cafe'), HEX(_utf8mb4'cafe')),
('additional', 'utf8mb4_unicode_ci', 'case', _utf8mb4'Cafe', _utf8mb4'cafe', 1, 1,
_utf8mb4'Cafe' COLLATE utf8mb4_unicode_ci = _utf8mb4'cafe',
_utf8mb4'Cafe' COLLATE utf8mb4_unicode_ci LIKE _utf8mb4'cafe',
_utf8mb4'cafe' COLLATE utf8mb4_unicode_ci LIKE _utf8mb4'Cafe',
CONCAT(_utf8mb4'Cafe', _utf8mb4'zz') COLLATE utf8mb4_unicode_ci LIKE CONCAT(_utf8mb4'cafe', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'Cafe', _utf8mb4'zz') COLLATE utf8mb4_unicode_ci LIKE CONCAT(_utf8mb4'%', _utf8mb4'cafe', _utf8mb4'%'),
HEX(_utf8mb4'Cafe'), HEX(_utf8mb4'cafe')),
('additional', 'utf8mb4_general_ci', 'accent', _utf8mb4'cafe', _utf8mb4'café', 1, 1,
_utf8mb4'cafe' COLLATE utf8mb4_general_ci = _utf8mb4'café',
_utf8mb4'cafe' COLLATE utf8mb4_general_ci LIKE _utf8mb4'café',
_utf8mb4'café' COLLATE utf8mb4_general_ci LIKE _utf8mb4'cafe',
CONCAT(_utf8mb4'cafe', _utf8mb4'zz') COLLATE utf8mb4_general_ci LIKE CONCAT(_utf8mb4'café', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'cafe', _utf8mb4'zz') COLLATE utf8mb4_general_ci LIKE CONCAT(_utf8mb4'%', _utf8mb4'café', _utf8mb4'%'),
HEX(_utf8mb4'cafe'), HEX(_utf8mb4'café')),
('additional', 'utf8mb4_unicode_ci', 'accent', _utf8mb4'cafe', _utf8mb4'café', 1, 1,
_utf8mb4'cafe' COLLATE utf8mb4_unicode_ci = _utf8mb4'café',
_utf8mb4'cafe' COLLATE utf8mb4_unicode_ci LIKE _utf8mb4'café',
_utf8mb4'café' COLLATE utf8mb4_unicode_ci LIKE _utf8mb4'cafe',
CONCAT(_utf8mb4'cafe', _utf8mb4'zz') COLLATE utf8mb4_unicode_ci LIKE CONCAT(_utf8mb4'café', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'cafe', _utf8mb4'zz') COLLATE utf8mb4_unicode_ci LIKE CONCAT(_utf8mb4'%', _utf8mb4'café', _utf8mb4'%'),
HEX(_utf8mb4'cafe'), HEX(_utf8mb4'café')),
('additional', 'utf8mb4_general_ci', 'voiced-katakana-width', _utf8mb4'ガ', _utf8mb4'ガ', 0, 0,
_utf8mb4'ガ' COLLATE utf8mb4_general_ci = _utf8mb4'ガ',
_utf8mb4'ガ' COLLATE utf8mb4_general_ci LIKE _utf8mb4'ガ',
_utf8mb4'ガ' COLLATE utf8mb4_general_ci LIKE _utf8mb4'ガ',
CONCAT(_utf8mb4'ガ', _utf8mb4'zz') COLLATE utf8mb4_general_ci LIKE CONCAT(_utf8mb4'ガ', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'ガ', _utf8mb4'zz') COLLATE utf8mb4_general_ci LIKE CONCAT(_utf8mb4'%', _utf8mb4'ガ', _utf8mb4'%'),
HEX(_utf8mb4'ガ'), HEX(_utf8mb4'ガ')),
('additional', 'utf8mb4_general_ci', 'voiced-katakana-decomposed', _utf8mb4'ガ', CONVERT(0xE382ABE38299 USING utf8mb4), 0, 0,
_utf8mb4'ガ' COLLATE utf8mb4_general_ci = CONVERT(0xE382ABE38299 USING utf8mb4),
_utf8mb4'ガ' COLLATE utf8mb4_general_ci LIKE CONVERT(0xE382ABE38299 USING utf8mb4),
CONVERT(0xE382ABE38299 USING utf8mb4) COLLATE utf8mb4_general_ci LIKE _utf8mb4'ガ',
CONCAT(_utf8mb4'ガ', _utf8mb4'zz') COLLATE utf8mb4_general_ci LIKE CONCAT(CONVERT(0xE382ABE38299 USING utf8mb4), _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'ガ', _utf8mb4'zz') COLLATE utf8mb4_general_ci LIKE CONCAT(_utf8mb4'%', CONVERT(0xE382ABE38299 USING utf8mb4), _utf8mb4'%'),
HEX(_utf8mb4'ガ'), HEX(CONVERT(0xE382ABE38299 USING utf8mb4))),
('additional', 'utf8mb4_general_ci', 'sharp-s-expansion', _utf8mb4'ß', _utf8mb4'ss', 0, 0,
_utf8mb4'ß' COLLATE utf8mb4_general_ci = _utf8mb4'ss',
_utf8mb4'ß' COLLATE utf8mb4_general_ci LIKE _utf8mb4'ss',
_utf8mb4'ss' COLLATE utf8mb4_general_ci LIKE _utf8mb4'ß',
CONCAT(_utf8mb4'ß', _utf8mb4'zz') COLLATE utf8mb4_general_ci LIKE CONCAT(_utf8mb4'ss', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'ß', _utf8mb4'zz') COLLATE utf8mb4_general_ci LIKE CONCAT(_utf8mb4'%', _utf8mb4'ss', _utf8mb4'%'),
HEX(_utf8mb4'ß'), HEX(_utf8mb4'ss')),
('additional', 'utf8mb4_general_ci', 'compat-corporation', _utf8mb4'(株)', _utf8mb4'㈱', 0, 0,
_utf8mb4'(株)' COLLATE utf8mb4_general_ci = _utf8mb4'㈱',
_utf8mb4'(株)' COLLATE utf8mb4_general_ci LIKE _utf8mb4'㈱',
_utf8mb4'㈱' COLLATE utf8mb4_general_ci LIKE _utf8mb4'(株)',
CONCAT(_utf8mb4'(株)', _utf8mb4'zz') COLLATE utf8mb4_general_ci LIKE CONCAT(_utf8mb4'㈱', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'(株)', _utf8mb4'zz') COLLATE utf8mb4_general_ci LIKE CONCAT(_utf8mb4'%', _utf8mb4'㈱', _utf8mb4'%'),
HEX(_utf8mb4'(株)'), HEX(_utf8mb4'㈱')),
('additional', 'utf8mb4_general_ci', 'compat-circled', _utf8mb4'1', _utf8mb4'①', 0, 0,
_utf8mb4'1' COLLATE utf8mb4_general_ci = _utf8mb4'①',
_utf8mb4'1' COLLATE utf8mb4_general_ci LIKE _utf8mb4'①',
_utf8mb4'①' COLLATE utf8mb4_general_ci LIKE _utf8mb4'1',
CONCAT(_utf8mb4'1', _utf8mb4'zz') COLLATE utf8mb4_general_ci LIKE CONCAT(_utf8mb4'①', _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'1', _utf8mb4'zz') COLLATE utf8mb4_general_ci LIKE CONCAT(_utf8mb4'%', _utf8mb4'①', _utf8mb4'%'),
HEX(_utf8mb4'1'), HEX(_utf8mb4'①')),
('additional', 'utf8mb4_general_ci', 'zero-width-space', _utf8mb4'ab', CONVERT(0x61E2808B62 USING utf8mb4), 0, 0,
_utf8mb4'ab' COLLATE utf8mb4_general_ci = CONVERT(0x61E2808B62 USING utf8mb4),
_utf8mb4'ab' COLLATE utf8mb4_general_ci LIKE CONVERT(0x61E2808B62 USING utf8mb4),
CONVERT(0x61E2808B62 USING utf8mb4) COLLATE utf8mb4_general_ci LIKE _utf8mb4'ab',
CONCAT(_utf8mb4'ab', _utf8mb4'zz') COLLATE utf8mb4_general_ci LIKE CONCAT(CONVERT(0x61E2808B62 USING utf8mb4), _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'ab', _utf8mb4'zz') COLLATE utf8mb4_general_ci LIKE CONCAT(_utf8mb4'%', CONVERT(0x61E2808B62 USING utf8mb4), _utf8mb4'%'),
HEX(_utf8mb4'ab'), HEX(CONVERT(0x61E2808B62 USING utf8mb4))),
('additional', 'utf8mb4_0900_ai_ci', 'variation-selector', _utf8mb4'葛', CONVERT(0xE8919BF3A08480 USING utf8mb4), 1, 0,
_utf8mb4'葛' COLLATE utf8mb4_0900_ai_ci = CONVERT(0xE8919BF3A08480 USING utf8mb4),
_utf8mb4'葛' COLLATE utf8mb4_0900_ai_ci LIKE CONVERT(0xE8919BF3A08480 USING utf8mb4),
CONVERT(0xE8919BF3A08480 USING utf8mb4) COLLATE utf8mb4_0900_ai_ci LIKE _utf8mb4'葛',
CONCAT(_utf8mb4'葛', _utf8mb4'zz') COLLATE utf8mb4_0900_ai_ci LIKE CONCAT(CONVERT(0xE8919BF3A08480 USING utf8mb4), _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'葛', _utf8mb4'zz') COLLATE utf8mb4_0900_ai_ci LIKE CONCAT(_utf8mb4'%', CONVERT(0xE8919BF3A08480 USING utf8mb4), _utf8mb4'%'),
HEX(_utf8mb4'葛'), HEX(CONVERT(0xE8919BF3A08480 USING utf8mb4))),
('additional', 'utf8mb4_0900_as_cs', 'variation-selector', _utf8mb4'葛', CONVERT(0xE8919BF3A08480 USING utf8mb4), 1, 0,
_utf8mb4'葛' COLLATE utf8mb4_0900_as_cs = CONVERT(0xE8919BF3A08480 USING utf8mb4),
_utf8mb4'葛' COLLATE utf8mb4_0900_as_cs LIKE CONVERT(0xE8919BF3A08480 USING utf8mb4),
CONVERT(0xE8919BF3A08480 USING utf8mb4) COLLATE utf8mb4_0900_as_cs LIKE _utf8mb4'葛',
CONCAT(_utf8mb4'葛', _utf8mb4'zz') COLLATE utf8mb4_0900_as_cs LIKE CONCAT(CONVERT(0xE8919BF3A08480 USING utf8mb4), _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'葛', _utf8mb4'zz') COLLATE utf8mb4_0900_as_cs LIKE CONCAT(_utf8mb4'%', CONVERT(0xE8919BF3A08480 USING utf8mb4), _utf8mb4'%'),
HEX(_utf8mb4'葛'), HEX(CONVERT(0xE8919BF3A08480 USING utf8mb4))),
('additional', 'utf8mb4_ja_0900_as_cs', 'variation-selector', _utf8mb4'葛', CONVERT(0xE8919BF3A08480 USING utf8mb4), 1, 0,
_utf8mb4'葛' COLLATE utf8mb4_ja_0900_as_cs = CONVERT(0xE8919BF3A08480 USING utf8mb4),
_utf8mb4'葛' COLLATE utf8mb4_ja_0900_as_cs LIKE CONVERT(0xE8919BF3A08480 USING utf8mb4),
CONVERT(0xE8919BF3A08480 USING utf8mb4) COLLATE utf8mb4_ja_0900_as_cs LIKE _utf8mb4'葛',
CONCAT(_utf8mb4'葛', _utf8mb4'zz') COLLATE utf8mb4_ja_0900_as_cs LIKE CONCAT(CONVERT(0xE8919BF3A08480 USING utf8mb4), _utf8mb4'%'),
CONCAT(_utf8mb4'zz', _utf8mb4'葛', _utf8mb4'zz') COLLATE utf8mb4_ja_0900_as_cs LIKE CONCAT(_utf8mb4'%', CONVERT(0xE8919BF3A08480 USING utf8mb4), _utf8mb4'%'),
HEX(_utf8mb4'葛'), HEX(CONVERT(0xE8919BF3A08480 USING utf8mb4)));
SELECT
COUNT(*) AS matrix_cells,
SUM(actual_equal <> expected_equal) AS matrix_equal_mismatches,
SUM(like_exact <> expected_like
OR like_reversed <> expected_like
OR like_prefix <> expected_like
OR like_middle <> expected_like) AS matrix_like_mismatches,
SUM(expected_equal <> expected_like) AS matrix_divergent_cells
FROM like_results
WHERE scope_name = 'matrix';
SELECT
COUNT(*) AS additional_checks,
SUM(actual_equal <> expected_equal) AS additional_equal_mismatches,
SUM(like_exact <> expected_like
OR like_reversed <> expected_like
OR like_prefix <> expected_like
OR like_middle <> expected_like) AS additional_like_mismatches,
SUM(expected_equal <> expected_like) AS additional_divergent_cells
FROM like_results
WHERE scope_name = 'additional';
SELECT *
FROM like_results
WHERE actual_equal <> expected_equal
OR like_exact <> expected_like
OR like_reversed <> expected_like
OR like_prefix <> expected_like
OR like_middle <> expected_like
ORDER BY scope_name, collation_name, pair_name;
SELECT
scope_name,
collation_name,
pair_name,
expected_equal,
actual_equal,
expected_like,
like_exact,
like_reversed,
like_prefix,
like_middle,
left_hex,
right_hex
FROM like_results
ORDER BY scope_name, collation_name, pair_name;
-- ---------------------------------------------------------------------------
-- 2. Wildcard level
-- ---------------------------------------------------------------------------
DROP TEMPORARY TABLE IF EXISTS like_wildcard_results;
CREATE TEMPORARY TABLE like_wildcard_results (
case_name VARCHAR(64) CHARACTER SET ascii NOT NULL,
collation_name VARCHAR(64) CHARACTER SET ascii NOT NULL,
subject_value VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_bin NOT NULL,
pattern_value VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_bin NOT NULL,
expected_match TINYINT UNSIGNED NOT NULL,
actual_match TINYINT UNSIGNED NOT NULL,
subject_hex VARCHAR(256) CHARACTER SET ascii NOT NULL
);
INSERT INTO like_wildcard_results VALUES
('single-underscore-precomposed', 'utf8mb4_0900_ai_ci', _utf8mb4'ガ', _utf8mb4'_', 1,
_utf8mb4'ガ' COLLATE utf8mb4_0900_ai_ci LIKE _utf8mb4'_',
HEX(_utf8mb4'ガ')),
('single-underscore-halfwidth', 'utf8mb4_0900_ai_ci', _utf8mb4'ガ', _utf8mb4'_', 0,
_utf8mb4'ガ' COLLATE utf8mb4_0900_ai_ci LIKE _utf8mb4'_',
HEX(_utf8mb4'ガ')),
('double-underscore-halfwidth', 'utf8mb4_0900_ai_ci', _utf8mb4'ガ', _utf8mb4'__', 1,
_utf8mb4'ガ' COLLATE utf8mb4_0900_ai_ci LIKE _utf8mb4'__',
HEX(_utf8mb4'ガ')),
('double-underscore-precomposed', 'utf8mb4_0900_ai_ci', _utf8mb4'ガ', _utf8mb4'__', 0,
_utf8mb4'ガ' COLLATE utf8mb4_0900_ai_ci LIKE _utf8mb4'__',
HEX(_utf8mb4'ガ')),
('zero-width-space-counted', 'utf8mb4_0900_ai_ci', CONVERT(0x61E2808B62 USING utf8mb4), _utf8mb4'___', 1,
CONVERT(0x61E2808B62 USING utf8mb4) COLLATE utf8mb4_0900_ai_ci LIKE _utf8mb4'___',
HEX(CONVERT(0x61E2808B62 USING utf8mb4))),
('plain-two-characters', 'utf8mb4_0900_ai_ci', _utf8mb4'ab', _utf8mb4'___', 0,
_utf8mb4'ab' COLLATE utf8mb4_0900_ai_ci LIKE _utf8mb4'___',
HEX(_utf8mb4'ab'));
SELECT
COUNT(*) AS wildcard_checks,
SUM(actual_match <> expected_match) AS wildcard_mismatches
FROM like_wildcard_results;
SELECT
case_name,
collation_name,
pattern_value,
expected_match,
actual_match,
subject_hex
FROM like_wildcard_results
ORDER BY case_name;
-- ---------------------------------------------------------------------------
-- 3. Column level, with and without an index
-- ---------------------------------------------------------------------------
DROP TEMPORARY TABLE IF EXISTS like_kana_indexed;
DROP TEMPORARY TABLE IF EXISTS like_product_indexed;
DROP TEMPORARY TABLE IF EXISTS like_pad_indexed;
DROP TEMPORARY TABLE IF EXISTS like_query_results;
-- utf8mb4_ja_0900_as_cs_ks separates hiragana from katakana for `=` and UNIQUE.
CREATE TEMPORARY TABLE like_kana_indexed (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
value VARCHAR(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_ja_0900_as_cs_ks NOT NULL,
PRIMARY KEY (id),
UNIQUE KEY uq_value (value)
) ENGINE = InnoDB;
INSERT INTO like_kana_indexed (value) VALUES (_utf8mb4'かな'), (_utf8mb4'カナ');
CREATE TEMPORARY TABLE like_product_indexed (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
name VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
PRIMARY KEY (id),
KEY k_name (name)
) ENGINE = InnoDB;
INSERT INTO like_product_indexed (name) VALUES
(_utf8mb4'ガイドブック'),
(_utf8mb4'ガイドブック'),
(_utf8mb4'カナ手帳'),
(_utf8mb4'カナ手帳'),
(_utf8mb4'Café Latte'),
(_utf8mb4'(株)東'),
(_utf8mb4'㈱東'),
(_utf8mb4'ABC '),
(_utf8mb4'ABC'),
(_utf8mb4'ab'),
(CONVERT(0x61E2808B62 USING utf8mb4)),
(_utf8mb4'ß'),
(_utf8mb4'ss'),
(_utf8mb4'葛飾'),
(CONVERT(0xE8919BF3A08480E9A3BE USING utf8mb4));
-- utf8mb4_bin is PAD SPACE, so `=` ignores the trailing space while LIKE does not.
CREATE TEMPORARY TABLE like_pad_indexed (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
value VARCHAR(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL,
PRIMARY KEY (id),
KEY k_value (value)
) ENGINE = InnoDB;
INSERT INTO like_pad_indexed (value) VALUES (_utf8mb4'ABC'), (_utf8mb4'ABC ');
CREATE TEMPORARY TABLE like_query_results (
case_name VARCHAR(64) CHARACTER SET ascii NOT NULL,
index_path VARCHAR(16) CHARACTER SET ascii NOT NULL,
expected_ids VARCHAR(64) CHARACTER SET ascii NOT NULL,
actual_ids VARCHAR(64) CHARACTER SET ascii NOT NULL
);
INSERT INTO like_query_results
SELECT 'kana-equal', 'index', '1', IFNULL(GROUP_CONCAT(id ORDER BY id), '')
FROM like_kana_indexed
WHERE value = _utf8mb4'かな';
INSERT INTO like_query_results
SELECT 'kana-like-exact', 'index', '1', IFNULL(GROUP_CONCAT(id ORDER BY id), '')
FROM like_kana_indexed
WHERE value LIKE _utf8mb4'かな';
INSERT INTO like_query_results
SELECT 'kana-like-exact', 'ignore', '1,2', IFNULL(GROUP_CONCAT(id ORDER BY id), '')
FROM like_kana_indexed IGNORE INDEX (uq_value)
WHERE value LIKE _utf8mb4'かな';
INSERT INTO like_query_results
SELECT 'kana-like-prefix', 'index', '1,2', IFNULL(GROUP_CONCAT(id ORDER BY id), '')
FROM like_kana_indexed
WHERE value LIKE _utf8mb4'かな%';
INSERT INTO like_query_results
SELECT 'kana-like-prefix', 'ignore', '1,2', IFNULL(GROUP_CONCAT(id ORDER BY id), '')
FROM like_kana_indexed IGNORE INDEX (uq_value)
WHERE value LIKE _utf8mb4'かな%';
INSERT INTO like_query_results
SELECT 'kana-like-middle', 'index', '1,2', IFNULL(GROUP_CONCAT(id ORDER BY id), '')
FROM like_kana_indexed
WHERE value LIKE _utf8mb4'%かな%';
INSERT INTO like_query_results
SELECT 'kana-both-rows-stored', 'index', '1,2', IFNULL(GROUP_CONCAT(id ORDER BY id), '')
FROM like_kana_indexed
WHERE 1 = 1;
INSERT INTO like_query_results
SELECT 'product-equal-guidebook', 'index', '1,2', IFNULL(GROUP_CONCAT(id ORDER BY id), '')
FROM like_product_indexed
WHERE name = _utf8mb4'ガイドブック';
INSERT INTO like_query_results
SELECT 'product-like-guidebook', 'index', '1', IFNULL(GROUP_CONCAT(id ORDER BY id), '')
FROM like_product_indexed
WHERE name LIKE _utf8mb4'ガイドブック';
INSERT INTO like_query_results
SELECT 'product-like-guide-prefix', 'index', '1', IFNULL(GROUP_CONCAT(id ORDER BY id), '')
FROM like_product_indexed
WHERE name LIKE _utf8mb4'ガイド%';
INSERT INTO like_query_results
SELECT 'product-like-guide-prefix', 'ignore', '1', IFNULL(GROUP_CONCAT(id ORDER BY id), '')
FROM like_product_indexed IGNORE INDEX (k_name)
WHERE name LIKE _utf8mb4'ガイド%';
INSERT INTO like_query_results
SELECT 'product-like-halfwidth-middle', 'index', '2', IFNULL(GROUP_CONCAT(id ORDER BY id), '')
FROM like_product_indexed
WHERE name LIKE _utf8mb4'%ガイド%';
INSERT INTO like_query_results
SELECT 'product-like-kana-prefix', 'index', '3,4', IFNULL(GROUP_CONCAT(id ORDER BY id), '')
FROM like_product_indexed
WHERE name LIKE _utf8mb4'カナ%';
INSERT INTO like_query_results
SELECT 'product-like-cafe-prefix', 'index', '5', IFNULL(GROUP_CONCAT(id ORDER BY id), '')
FROM like_product_indexed
WHERE name LIKE _utf8mb4'cafe%';
INSERT INTO like_query_results
SELECT 'product-equal-corporation', 'index', '6,7', IFNULL(GROUP_CONCAT(id ORDER BY id), '')
FROM like_product_indexed
WHERE name = _utf8mb4'(株)東';
INSERT INTO like_query_results
SELECT 'product-like-corporation-prefix', 'index', '6', IFNULL(GROUP_CONCAT(id ORDER BY id), '')
FROM like_product_indexed
WHERE name LIKE _utf8mb4'(株)%';
INSERT INTO like_query_results
SELECT 'product-equal-trailing-space', 'index', '9', IFNULL(GROUP_CONCAT(id ORDER BY id), '')
FROM like_product_indexed
WHERE name = _utf8mb4'ABC';
INSERT INTO like_query_results
SELECT 'product-like-trailing-space', 'index', '9', IFNULL(GROUP_CONCAT(id ORDER BY id), '')
FROM like_product_indexed
WHERE name LIKE _utf8mb4'ABC';
-- The index only changes the result where LIKE matches more rows than `=`.
INSERT INTO like_query_results
SELECT 'kana-like-single-prefix', 'index', '1,2', IFNULL(GROUP_CONCAT(id ORDER BY id), '')
FROM like_kana_indexed
WHERE value LIKE _utf8mb4'か%';
INSERT INTO like_query_results
SELECT 'kana-like-single-prefix', 'ignore', '1,2', IFNULL(GROUP_CONCAT(id ORDER BY id), '')
FROM like_kana_indexed IGNORE INDEX (uq_value)
WHERE value LIKE _utf8mb4'か%';
INSERT INTO like_query_results
SELECT 'product-like-guidebook', 'ignore', '1', IFNULL(GROUP_CONCAT(id ORDER BY id), '')
FROM like_product_indexed IGNORE INDEX (k_name)
WHERE name LIKE _utf8mb4'ガイドブック';
INSERT INTO like_query_results
SELECT 'product-like-corporation-prefix', 'ignore', '6', IFNULL(GROUP_CONCAT(id ORDER BY id), '')
FROM like_product_indexed IGNORE INDEX (k_name)
WHERE name LIKE _utf8mb4'(株)%';
INSERT INTO like_query_results
SELECT 'product-like-trailing-space', 'ignore', '9', IFNULL(GROUP_CONCAT(id ORDER BY id), '')
FROM like_product_indexed IGNORE INDEX (k_name)
WHERE name LIKE _utf8mb4'ABC';
INSERT INTO like_query_results
SELECT 'product-like-zero-width-space', 'index', '10', IFNULL(GROUP_CONCAT(id ORDER BY id), '')
FROM like_product_indexed
WHERE name LIKE _utf8mb4'ab';
INSERT INTO like_query_results
SELECT 'product-like-zero-width-space', 'ignore', '10', IFNULL(GROUP_CONCAT(id ORDER BY id), '')
FROM like_product_indexed IGNORE INDEX (k_name)
WHERE name LIKE _utf8mb4'ab';
INSERT INTO like_query_results
SELECT 'product-like-sharp-s', 'index', '12', IFNULL(GROUP_CONCAT(id ORDER BY id), '')
FROM like_product_indexed
WHERE name LIKE _utf8mb4'ß';
INSERT INTO like_query_results
SELECT 'product-like-sharp-s', 'ignore', '12', IFNULL(GROUP_CONCAT(id ORDER BY id), '')
FROM like_product_indexed IGNORE INDEX (k_name)
WHERE name LIKE _utf8mb4'ß';
INSERT INTO like_query_results
SELECT 'product-equal-variation-selector', 'index', '14,15', IFNULL(GROUP_CONCAT(id ORDER BY id), '')
FROM like_product_indexed
WHERE name = _utf8mb4'葛飾';
INSERT INTO like_query_results
SELECT 'product-like-variation-selector', 'index', '14', IFNULL(GROUP_CONCAT(id ORDER BY id), '')
FROM like_product_indexed
WHERE name LIKE _utf8mb4'葛飾%';
INSERT INTO like_query_results
SELECT 'product-like-variation-selector', 'ignore', '14', IFNULL(GROUP_CONCAT(id ORDER BY id), '')
FROM like_product_indexed IGNORE INDEX (k_name)
WHERE name LIKE _utf8mb4'葛飾%';
INSERT INTO like_query_results
SELECT 'pad-equal-trailing-space', 'index', '1,2', IFNULL(GROUP_CONCAT(id ORDER BY id), '')
FROM like_pad_indexed
WHERE value = _utf8mb4'ABC';
INSERT INTO like_query_results
SELECT 'pad-like-trailing-space', 'index', '1', IFNULL(GROUP_CONCAT(id ORDER BY id), '')
FROM like_pad_indexed
WHERE value LIKE _utf8mb4'ABC';
INSERT INTO like_query_results
SELECT 'pad-like-trailing-space', 'ignore', '1', IFNULL(GROUP_CONCAT(id ORDER BY id), '')
FROM like_pad_indexed IGNORE INDEX (k_value)
WHERE value LIKE _utf8mb4'ABC';
SELECT
COUNT(*) AS query_checks,
SUM(actual_ids <> expected_ids) AS query_mismatches
FROM like_query_results;
SELECT
case_name,
index_path,
expected_ids,
actual_ids
FROM like_query_results
ORDER BY case_name, index_path;
DROP TEMPORARY TABLE IF EXISTS like_kana_indexed;
DROP TEMPORARY TABLE IF EXISTS like_product_indexed;
DROP TEMPORARY TABLE IF EXISTS like_pad_indexed;
DROP TEMPORARY TABLE IF EXISTS like_query_results;
DROP TEMPORARY TABLE IF EXISTS like_wildcard_results;
DROP TEMPORARY TABLE IF EXISTS like_results;