메뉴 건너뛰기

GREATUSER

free

MySQL 8.0: ひらがなカタカナを判別する日本語用Collation 以前の記事では、MySQL 8.0.1で導入された新しい 日本語のutf8bm4のCollation(文字照合順)について ご紹介しました。このcollation (utf8mb4_ja_0900_as_cs) は、CLDR 30で定義されたアクセント記号(清音濁音半濁音)ならびに大文字小文字(拗音促音など)を判別する実装となっています。 今日ご紹介するのはひらがなカタカナを判別できる新しい「かなセンシティブ」なCollation utf8mb4_ja_0900_as_cs_ksです。DUCETではひらがながカタカナよりも前にソートされるように3次レベルの重みを定義しています。例えば: 3042 ; [.3D5A.0020.000E] # HIRAGANA LETTER A 30A2 ; [.3D5A.0020.0011] # KATAKANA LETTER A 2次レベルでの違い(000E および 0011)によって 0x3042 (あ) < 0x30A2 (ア) となります。CLDRではひらがなとカタカナの違いは4次レベル(例: &あ<<<<ア)で比較するよう定義されています。デフォルトの比較レベルは3次レベル(強さ 3)となっており、最初の3次レベルでみると同じとなります。 utf8mb4_ja_0900_as_cs_ksについて utf8mb4_ja_0900_as_csに対していただいたフィードバックにお応えする形で、ひらがなとカタカナを判別する新しいCollationである utf8mb4_ja_0900_as_cs_ks を追加することにしました。ここでの’_ks’は「かなセンシティブ Kana Sensitive」を意味しています。 このCollationは最初の3次レベルまでが同じひらがなとカタカナの判別に必要となる4次レベルでの処理を行います。以下の例では、utf8mb4_ja_0900_as_cs および utf8mb4_ja_0900_as_cs_ks のそれぞれのCollationでの文字列比較結果です: mysql> SET @s1 = CONVERT('きゅう' USING utf8mb4); Query OK, 0 rows affected (0.01 sec) mysql> SET @s2 = CONVERT('キュウ' USING utf8mb4); Query OK, 0 rows affected (0.00 sec) mysql> SET @s3 = CONVERT('きゆう' USING utf8mb4); Query OK, 0 rows affected (0.00 sec) mysql> SET @s4 = CONVERT('キユウ' USING utf8mb4); Query OK, 0 rows affected (0.00 sec) mysql> SELECT STRCMP(@s1 COLLATE utf8mb4_ja_0900_as_cs, @s2); +------------------------------------------------+ | STRCMP(@s1 COLLATE utf8mb4_ja_0900_as_cs, @s2) | +------------------------------------------------+ | 0 | +------------------------------------------------+ 1 row in set (0.00 sec) mysql> SELECT STRCMP(@s2 COLLATE utf8mb4_ja_0900_as_cs, @s3); +------------------------------------------------+ | STRCMP(@s2 COLLATE utf8mb4_ja_0900_as_cs, @s3) | [ more... ]

The post MySQL 8.0: ひらがなカタカナを判別する日本語用Collation appeared first on 지락문화예술공작단.




원문출처 : https://jirak.net/wp/mysql-8-0-%E3%81%B2%E3%82%89%E3%81%8C%E3%81%AA%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A%E3%82%92%E5%88%A4%E5%88%A5%E3%81%99%E3%82%8B%E6%97%A5%E6%9C%AC%E8%AA%9E%E7%94%A8collation/
번호 제목 글쓴이 날짜 조회 수
1000 Windows 10 SDK Preview Build 17095 now available 관리자 2018.02.14 94
999 Windows 10 Tip: Get started with Continue on PC in the Microsoft Edge mobile app 관리자 2017.12.05 94
998 This Week on Windows: Surface Book 2 now available for pre-order, Xbox One X launch, Samsung HMD Odyssey availability and more 관리자 2017.11.10 94
997 Announcing Windows 10 Insider Preview Build 14931 for PC 관리자 2016.09.22 94
996 Windows 10 Tip: Use Cortana above your lock screen 관리자 2016.08.23 94
995 Mixed reality in manufacturing comes to life at Hannover Messe 관리자 2018.04.24 93
994 Announcing Windows Server vNext LTSC Build 17623 관리자 2018.03.21 93
993 Update on Spectre and Meltdown security updates for Windows devices 관리자 2018.03.02 93
992 Introducing HTTP/2 Server Push with NGINX 1.13.9 관리자 2018.02.21 93
991 AWS 10월 온라인 세미나 – re:Invent 가이드, Amazon ECS/ECR 기반 마이크로서비스, AWS X-Ray 성능 추적 및 Apache MXNet 기반 딥러닝 등 관리자 2017.10.12 93
990 Calling WinRT Components from a Win32 process via the Desktop Bridge 관리자 2017.07.07 93
989 클라우드의 미래를 조망할 AWS re:Invent 2016 등록 시작! 관리자 2016.06.24 93
988 Announcing Windows 10 Insider Preview Build 17655 for Skip Ahead 관리자 2018.04.26 92
987 Windows 10 SDK Preview Build 17120 now available 관리자 2018.03.21 92
986 Dynamic Bandwidth Limits Using the NGINX Plus Key-Value Store 관리자 2018.02.23 92
위로