메뉴 건너뛰기

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/
번호 제목 글쓴이 날짜 조회 수
850 Microservices & API Gateways, Part 1: Why an API Gateway? 관리자 2017.04.20 60
849 High-DPI Scaling Improvements for Desktop Applications in the Windows 10 Creators Update 관리자 2017.04.05 60
848 Go Universal! Now your ad campaigns can reach users across Microsoft premium surfaces like MSN, Outlook and Skype 관리자 2017.02.01 60
847 Play the Halo Wars 2 Blitz Multiplayer Beta on Xbox One and Windows 10 PC today 관리자 2017.01.21 60
846 Gears of War 4 launch trailer world premiere 관리자 2016.09.20 60
845 Fortune-ranked #27 winner and Surface fan Yen Hoang 관리자 2016.09.17 60
844 Amazon RDS for SQL Server, 다중-AZ 미러링 기능 서울 리전 지원! 관리자 2016.04.01 60
843 Making GET_LOCK behavior more predictable cross version with query rewrite 관리자 2016.02.17 60
842 This Week on Windows: Tips for traveling with your device and more 관리자 2017.12.01 59
841 클라우드 관리형 서비스의 미래 관리자 2017.11.21 59
840 Announcing Microsoft Store back to school deals that begin today 관리자 2017.07.08 59
839 Understand your visitors by seeing where they click, hover, type and scroll, and replay their actions in a video 관리자 2017.05.19 59
838 Powering the industry 4.0 revolution in manufacturing with Windows 10 and Microsoft Cloud 관리자 2017.04.25 59
837 AWS Application Load Balancers – 호스트 기반 라우팅 규칙 신규 기능 지원 관리자 2017.04.06 59
836 MySQL InnoDB Cluster – Release Candidate Discussion 관리자 2017.03.22 59
위로