ฉันควรใช้การเปรียบเทียบ SQL Server สำหรับภาษาฮีบรูในพระคัมภีร์ไบเบิลอย่างไร ฐานข้อมูลที่อยู่ระหว่างการพิจารณาจำเป็นต้องมีการกำกับกำกับ (เช่นเสียงสระ, เสียง, เสียงแหลม, ฯลฯ )
ฉันควรใช้การเปรียบเทียบ SQL Server สำหรับภาษาฮีบรูในพระคัมภีร์ไบเบิลอย่างไร ฐานข้อมูลที่อยู่ระหว่างการพิจารณาจำเป็นต้องมีการกำกับกำกับ (เช่นเสียงสระ, เสียง, เสียงแหลม, ฯลฯ )
คำตอบ:
ครั้งแรก:ไม่มีความแตกต่างการเปรียบเทียบอย่างฉลาดระหว่างพระคัมภีร์ไบเบิ้ลฮิบรูและฮิบรูสมัยใหม่ เรากำลังติดต่อกับชาวฮีบรู
ประการที่สอง: คุณต้องการใช้ชุดการเรียงข้อมูลใหม่ล่าสุดซึ่งเป็น โดยปกติฉันขอแนะนำให้ใช้รุ่นล่าสุดของการเปรียบเทียบสิ่งที่คุณต้องการ แต่อย่างน้อยในกรณีนี้มีเหตุผลที่ดีที่จะใช้รุ่นที่ไม่มีหมายเลขเวอร์ชันในชื่อ การเปรียบเทียบรุ่น 100 (หรือใหม่กว่า) นั้นสมบูรณ์กว่ามากและสามารถแยกแยะความแตกต่างระหว่างอักขระเสริม (หรือสนับสนุนอย่างเต็มที่หากใช้_100_
ชุดเนื่องจากมีน้ำหนักการเรียงลำดับที่สมบูรณ์และใหม่กว่าและกฎทางภาษาศาสตร์มากกว่าชุดเก่าที่ไม่มีหมายเลขรุ่นในชื่อ (ในทางเทคนิคคือรุ่น80
)SC
หรือการ140
เปรียบเทียบ) แต่สมมติว่าคุณไม่ได้จัดการกับอักขระเสริมดังนั้นรุ่น 80 (ไม่มีรุ่น) การเรียงหมายเลขในชื่อ) จะช่วยให้การจัดการฮีบรูทำได้ดีขึ้น (ดูรายการ "หก" ด้านล่าง)
ประการที่สาม:ไม่มีแนวคิดของ "Kana" (หรือ Kana-type) ในภาษาฮิบรูดังนั้นคุณสามารถเพิกเฉยต่อรูปแบบการเปรียบเทียบใด ๆ ที่มี_KS
ในชื่อของพวกเขา (เช่นเดียวกับความไวที่คุณจะไม่ใช้)
Forth:การเปรียบเทียบที่ลงท้ายด้วย_SC
การสนับสนุนอักขระเพิ่มเติม (เช่นเต็ม UTF-16) ดังนั้นโดยปกติแล้วจะดีที่สุดในการเลือกหนึ่งในนั้นถ้ามี (ความหมาย: ถ้าคุณใช้ SQL Server 2012 หรือใหม่กว่า)
ประการที่ห้า:คุณไม่ต้องการให้มีการเปรียบเทียบไบนารี ( _BIN
หรือ_BIN2
) เนื่องจากไม่สามารถแยกความแตกต่างระหว่างตัวอักษรภาษาฮิบรูที่มีทั้งสระและเครื่องหมาย cantillation ที่เหมือนกัน แต่มีอักขระรวมอยู่ในคำสั่งที่แตกต่างกันและไม่สามารถละเว้นสระและเครื่องหมายอื่น ๆ สิ่งที่ติดลบเหมือนและא
אֽ
ตัวอย่างเช่น (สระและเครื่องหมายการรวมตัวอักษรตามลำดับที่ตรงกันข้าม):
SELECT NCHAR(0x05D0) + NCHAR(0x059C) + NCHAR(0x05B8),
NCHAR(0x05D0) + NCHAR(0x05B8) + NCHAR(0x059C)
WHERE NCHAR(0x05D0) + NCHAR(0x059C) + NCHAR(0x05B8) =
NCHAR(0x05D0) + NCHAR(0x05B8) + NCHAR(0x059C) COLLATE Hebrew_100_CS_AS_SC;
-- אָ֜ אָ֜
SELECT NCHAR(0x05D0) + NCHAR(0x059C) + NCHAR(0x05B8),
NCHAR(0x05D0) + NCHAR(0x05B8) + NCHAR(0x059C)
WHERE NCHAR(0x05D0) + NCHAR(0x059C) + NCHAR(0x05B8) =
NCHAR(0x05D0) + NCHAR(0x05B8) + NCHAR(0x059C) COLLATE Hebrew_100_BIN2;
-- no rows
หก:ขึ้นอยู่กับว่าคุณจะโต้ตอบกับค่าสตริงอย่างไร ฮิบรูไม่มีตัวอักษรตัวพิมพ์ใหญ่และตัวพิมพ์เล็ก แต่มีจุดรหัสน้อยที่ได้รับผลกระทบจากตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ มีจุดโค้ดสองสามจุดที่ไวต่อความกว้าง สำเนียงที่มีความอ่อนไหว / ตายส่งผลกระทบต่อการออกเสียงสระที่ใช้สำหรับการออกเสียงและcantillationเครื่องหมาย (เช่นเปรียบเทียบ)
คุณต้องการแยกความแตกต่างระหว่างรูปแบบตัวอักษรสุดท้ายและไม่ใช่ตัวสุดท้ายของตัวอักษรเดียวกันหรือไม่? ฮิบรูมีห้าตัวอักษรที่ดูแตกต่างเมื่อใช้เป็นตัวอักษรสุดท้ายของคำ SQL Server จัดการสิ่งนี้ผ่านการพิจารณาตัวพิมพ์เล็กและตัวพิมพ์ใหญ่_CS
(แต่น่าเสียดายที่ดูเหมือนว่ามันจะใช้งานไม่ได้ในรุ่นที่ใหม่กว่าและมักจะดีกว่ารุ่น 100 และการเรียงแบบใหม่กว่า):
SELECT NCHAR(0x05DE) AS [Mem],
NCHAR(0x05DD) AS [Final Mem]
WHERE NCHAR(0x05DE) = NCHAR(0x05DD) COLLATE Hebrew_CI_AS_KS_WS;
-- 1 row (expected; all sensitive except case)
-- Mem Final Mem
-- מ ם
SELECT NCHAR(0x05DE) AS [Mem],
NCHAR(0x05DD) AS [Final Mem]
WHERE NCHAR(0x05DE) = NCHAR(0x05DD) COLLATE Hebrew_CS_AI;
-- no rows (expected; all insensitive except case)
SELECT NCHAR(0x05DE) AS [Mem],
NCHAR(0x05DD) AS [Final Mem]
WHERE NCHAR(0x05DE) = NCHAR(0x05DD) COLLATE Hebrew_100_CI_AI;
-- no rows (expected 1 row; all insensitive)
คุณจำเป็นต้องแยกแยะระหว่างเครื่องหมายการออกเสียงสระและเครื่องหมายการออกเสียงหรือไม่? SQL Server จัดการสิ่งนี้ผ่านการเน้นความไว / การ_AS
จัดเรียง (แต่น่าเสียดายที่ดูเหมือนว่าจะขาดในรุ่นที่ใหม่กว่าและมักจะดีกว่ารุ่น 100 และใหม่กว่าการเปรียบเทียบ) โปรดทราบว่าทั้งสามสิ่งนี้ถูกจัดกลุ่มเข้าด้วยกันภายใต้สำเนียงและไม่สามารถควบคุมแยกกันได้ (เช่นคุณไม่สามารถออกเสียงเสียงสระได้
เครื่องหมายการออกเสียง
มีตัวอักษรหลายตัวที่มีสองเสียงที่แตกต่างกัน บางครั้งตัวบ่งชี้เดียวที่ใช้เสียงคือบริบทของคำที่ตัวอักษรเป็น (และบางครั้งอาจเป็นคำที่อยู่รอบ ๆ ) เช่นในโตราห์ที่แท้จริง (ที่ไม่มีเครื่องหมายหรือสระออกเสียง) แต่ข้อความเดียวกันในรูปแบบอื่น ๆ รวมถึงข้อความอื่น ๆ จะมีจุดที่อยู่ภายในตัวอักษรหรือสำหรับตัวอักษรชินเหนือตัวอักษร ตัวอักษรชินสามารถมีได้ทั้งเสียง "sh" หรือ "s" หากต้องการระบุเสียง "sh" (เช่นตัวอักษร "shin") จะมีจุดด้านบนทางด้านขวาในขณะที่จุดด้านบนทางด้านซ้ายแสดงถึง "s" เสียง (ตัวอักษร "บาป"):
SELECT NCHAR(0x05E9) AS [Shin], -- ש
NCHAR(0x05E9) + NCHAR(0x05C1) AS [Shin + Shin Dot], -- שׁ
NCHAR(0x05E9) + NCHAR(0x05C2) AS [Shin + Sin Dot] -- שׂ
WHERE NCHAR(0x05E9) = NCHAR(0x05E9) + NCHAR(0x05C1) COLLATE Hebrew_CS_AI_KS_WS
AND NCHAR(0x05E9) = NCHAR(0x05E9) + NCHAR(0x05C2) COLLATE Hebrew_CS_AI_KS_WS;
-- 1 row (expected; all sensitive except accent)
SELECT NCHAR(0x05E9) AS [Shin], -- ש
NCHAR(0x05E9) + NCHAR(0x05C1) AS [Shin + Shin Dot], -- שׁ
NCHAR(0x05E9) + NCHAR(0x05C2) AS [Shin + Sin Dot] -- שׂ
WHERE NCHAR(0x05E9) = NCHAR(0x05E9) + NCHAR(0x05C1) COLLATE Hebrew_CI_AS
OR NCHAR(0x05E9) = NCHAR(0x05E9) + NCHAR(0x05C2) COLLATE Hebrew_CI_AS;
-- no rows (expected; all insensitive except accent)
SELECT NCHAR(0x05E9) AS [Shin], -- ש
NCHAR(0x05E9) + NCHAR(0x05C1) AS [Shin + Shin Dot], -- שׁ
NCHAR(0x05E9) + NCHAR(0x05C2) AS [Shin + Sin Dot] -- שׂ
WHERE NCHAR(0x05E9) = NCHAR(0x05E9) + NCHAR(0x05C1) COLLATE Hebrew_100_CI_AI_SC
OR NCHAR(0x05E9) = NCHAR(0x05E9) + NCHAR(0x05C2) COLLATE Hebrew_100_CI_AI_SC;
-- no rows (expected 1 row; all insensitive)
สระ
SELECT NCHAR(0x05D0) AS [Aleph], -- א
NCHAR(0x05D0) + NCHAR(0x05B8) AS [Aleph with vowel] -- אָ
WHERE NCHAR(0x05D0) =
NCHAR(0x05D0) + NCHAR(0x05B8) COLLATE Hebrew_CS_AI_KS_WS;
-- 1 row (expected; all sensitive except accent)
SELECT NCHAR(0x05D0) AS [Aleph], -- א
NCHAR(0x05D0) + NCHAR(0x05B8) AS [Aleph with vowel] -- אָ
WHERE NCHAR(0x05D0) =
NCHAR(0x05D0) + NCHAR(0x05B8) COLLATE Hebrew_CI_AS;
-- no rows (expected; all insensitive except accent)
SELECT NCHAR(0x05D0) AS [Aleph], -- א
NCHAR(0x05D0) + NCHAR(0x05B8) AS [Aleph with vowel] -- אָ
WHERE NCHAR(0x05D0) =
NCHAR(0x05D0) + NCHAR(0x05B8) COLLATE Hebrew_100_CI_AI_SC;
-- no rows (expected 1 row; all insensitive)
เครื่องหมาย Cantilation
ในทางเทคนิคตามข้อมูล Unicode อย่างเป็นทางการเครื่องหมายฮิบรูฮิลล์นั้นไม่สามารถมองข้ามได้และควรลงทะเบียนเป็นความแตกต่างที่นี่เมื่อใช้การเปรียบเทียบแบบไบนารี อย่างไรก็ตาม SQL Server ปฏิบัติต่อพวกเขาเช่นเดียวกับการเน้นเสียง (น่าเสียดายที่) และไม่สามารถแยกพวกเขาออกจากเครื่องหมายการออกเสียงหรือสระ
SELECT NCHAR(0x05D0) AS [Aleph], -- א
NCHAR(0x05D0) + NCHAR(0x05A8) AS [Aleph with cantillation mark] -- א֨
WHERE NCHAR(0x05D0) =
NCHAR(0x05D0) + NCHAR(0x05A8) COLLATE Hebrew_CS_AI_KS_WS;
-- 1 row (expected; all sensitive except accent)
SELECT NCHAR(0x05D0) AS [Aleph], -- א
NCHAR(0x05D0) + NCHAR(0x05A8) AS [Aleph with cantillation mark] -- א֨
WHERE NCHAR(0x05D0) =
NCHAR(0x05D0) + NCHAR(0x05A8) COLLATE Hebrew_CI_AS;
-- no rows (expected; all insensitive except accent)
SELECT NCHAR(0x05D0) AS [Aleph], -- א
NCHAR(0x05D0) + NCHAR(0x05A8) AS [Aleph with cantillation mark] -- א֨
WHERE NCHAR(0x05D0) =
NCHAR(0x05D0) + NCHAR(0x05A8) COLLATE Hebrew_100_CI_AI_SC;
-- no rows (expected 1 row; all insensitive)
คุณจำเป็นต้องแยกแยะระหว่างรูปแบบตัวอักษรแบบกว้างและแบบกว้างหรือไม่? มีแปดตัวอักษรในภาษาฮิบรูที่ยืด (กว้าง) แต่มีวัตถุประสงค์เพื่อใช้ในการเลื่อนโตราห์ (ทั้งเขียนด้วยมือ / จริงหรือพิมพ์) เพื่อรักษารูปแบบคอลัมน์ - ธรรมอย่างเต็มที่ (ซึ่งจริง ๆ แล้วมันปรากฏในม้วนโตราห์ ) SQL Server จัดการสิ่งนี้ผ่านไว - ไว / การ_WS
จัดเรียง (น่าสนใจพอดูเหมือนว่าเป็นความไวเพียงอย่างเดียวที่ทำงานได้อย่างถูกต้องในเวอร์ชัน 100 ที่ใหม่กว่าและการจัดเรียงที่ใหม่กว่าแม้ว่าน่าเศร้าที่มีโอกาสน้อยที่สุดที่จะใช้):
SELECT NCHAR(0x05DC) AS [Lamed],
NCHAR(0xFB25) AS [Wide Lamed]
WHERE NCHAR(0x05DC) = NCHAR(0xFB25) COLLATE Hebrew_CI_AI;
-- no rows (expected 1 row; all insensitive)
SELECT NCHAR(0x05DC) AS [Lamed],
NCHAR(0xFB25) AS [Wide Lamed]
WHERE NCHAR(0x05DC) = NCHAR(0xFB25) COLLATE Hebrew_100_CS_AS_KS_SC;
-- 1 row (expected; all sensitive except width)
-- Lamed Wide Lamed
-- ל ﬥ
SELECT NCHAR(0x05DC) AS [Lamed],
NCHAR(0xFB25) AS [Wide Lamed]
WHERE NCHAR(0x05DC) = NCHAR(0xFB25) COLLATE Hebrew_100_CI_AI_WS_SC;
-- no rows (expected; all insensitive except width)
ดังนั้นบางทีHebrew_CI_AI
สำหรับคอลัมน์และคุณสามารถแทนที่ต่อการแสดงออก / กริยาผ่านCOLLATE
คำสั่งถ้าคุณต้องการที่จะใช้รูปแบบเช่นCOLLATE Hebrew_CS_AI
หรือหรือHebrew_CI_AS
Hebrew_CS_AS
หมายเหตุเพิ่มเติม
คุณจะต้องเก็บข้อมูลในNVARCHAR
คอลัมน์ / ตัวแปร คุณสามารถทำได้เกือบทั้งหมดใน 8 บิตปกติVARCHAR
โดยใช้หน้ารหัส Windows-1255 (ซึ่งเป็นสิ่งที่Hebrew_*
ใช้ในการเปรียบเทียบ) รวมถึงการรวมอักขระสำหรับสระและจุดออกเสียง:
;WITH Hebrew AS
(
SELECT NCHAR(0x05E9) + NCHAR(0x05C1) + NCHAR(0x05B8)
COLLATE Hebrew_100_CS_AS AS [Shin]
)
SELECT
Hebrew.[Shin] AS [Unicode],
CONVERT(VARCHAR(20), Hebrew.[Shin]) AS [CodePage1255],
CONVERT(VARBINARY(10), CONVERT(VARCHAR(20), Hebrew.[Shin])) AS [CodePage1255_bytes]
FROM Hebrew;
-- Unicode CodePage1255 CodePage1255_bytes
-- שָׁ שָׁ F9D1C8
อย่างไรก็ตามเฉพาะบล็อก Unicode Hebrew ที่มีเครื่องหมาย cantillation (เช่น trope; code points U + 0591 ถึง U + 05AF) บวกกับ extras เล็กน้อย (code points U + 05C4 ถึง U + 05C7) และบล็อกแบบ Alph Alph Presentationมีความกว้าง แตกต่างจากตัวอักษรหลายตัวรวมถึงสิ่งอื่น ๆ
ตามกฎอย่างเป็นทางการของ Unicode CLDR (การตัดเฉพาะสถานที่เกิดเหตุ) สำหรับวัฒนธรรมฮีบรู ("เขา" และ "he-IL"), U + 05F3 HEBREW PUNCTUATION GERESH ควรตรงหรือมาก่อน , U + 0027 APOSTROPHE โดยปกติ U + 05F3 จะเรียงลำดับหลังจากเครื่องหมายอัญประกาศเดี่ยว พฤติกรรมนี้เห็นได้ชัดเมื่อใช้การสาธิตการเปรียบเทียบ ICUและการสลับระหว่าง "การจัดเรียง" / ลำดับการจัดเรียงมาตรฐาน (ใช้โดย US English / "en-US") และ "เขา" อย่างไรก็ตามพฤติกรรมนี้ดูเหมือนจะไม่สามารถใช้ได้ใน. NET หรือ SQL Server:
SELECT NCHAR(0x05F3)
WHERE NCHAR(0x05F3) <= N'''' COLLATE Hebrew_100_CS_AS_KS_WS;
-- no rows
SELECT NCHAR(0x05F3)
WHERE NCHAR(0x05F3) <= N'''' COLLATE Hebrew_CS_AS_KS_WS;
-- no rows
ในขณะที่การละเว้นโชคร้ายมันทำให้รู้สึกว่าฉันไม่เห็น "เขา" หรือ "he-IL" - การปรับแต่งเฉพาะในไฟล์ Windows Weighting Weight Table นี่อาจหมายความว่าไม่มีความแตกต่างที่เกิดขึ้นจริงระหว่างHebrew_*
และการLatin1_General_*
เปรียบเทียบนอกหน้ารหัสที่เกี่ยวข้องซึ่งใช้สำหรับVARCHAR
ข้อมูลเท่านั้นและไม่ได้ใช้ที่นี่
OP ตอบกลับด้วย:
ใช่ฉันต้องแยกความแตกต่างระหว่าง: 1) รูปแบบสุดท้ายและที่ไม่ใช่ตัวอักษรสุดท้ายของตัวอักษรเดียวกัน 2) เครื่องหมายการออกเสียง 3) สระและ 4) เครื่องหมายเท้าแขน
ในกรณีดังกล่าวเนื่องจากคุณไม่จำเป็นต้องเพิกเฉยความแตกต่างระหว่างคุณสมบัติเหล่านั้นคุณสามารถใช้การจัดเรียง 100 ระดับ ตัวอย่างด้านล่างแสดงตัวอักษรภาษาฮิบรู (บาป) ที่มีเครื่องหมายการออกเสียงเครื่องหมายการออกเสียงและสระ มีหกเวอร์ชันเพื่อให้สามารถแสดงชุดค่าผสมของอักขระที่รวมกันได้ มีรายการที่เจ็ดที่ใช้จุดอื่นเพื่อสร้างตัวอักษรชินที่มีตัวอักษรฐานเดียวกันสระและเครื่องหมาย cantillation แบบสอบถามแสดงให้เห็นว่ารายการ "บาป" เพียงหกรายการเท่านั้นที่จับคู่กัน
ฉันรวมการใช้งานLatin1_General
และการJapanese_XJIS_140
เรียงเพื่อแสดงให้เห็นว่ากฎทำงานร่วมกับกฎเหล่านั้นเช่นกันในกรณีที่คุณจำเป็นต้องใช้ประโยชน์ (การ140
เปรียบเทียบเฉพาะภาษาญี่ปุ่นมีการแมปตัวพิมพ์ใหญ่และตัวพิมพ์เล็กกว่าเวอร์ชั่นเก่ากว่า) แต่โดยทั่วไปน่าจะดีที่สุดที่จะยึดติดกับการเปรียบเทียบฮีบรูและใช้100
เวอร์ชันที่ไม่ใช่ถ้าคุณต้องการละเว้นความแตกต่างในสระเครื่องหมายจุดและรูปแบบสุดท้ายเทียบกับไม่ใช่แบบสุดท้าย
DECLARE @Shin NVARCHAR(5) = NCHAR(0x05E9), -- base Hebrew letter
@Dot NVARCHAR(5) = NCHAR(0x05C2), -- Sin Dot
@Mark NVARCHAR(5) = NCHAR(0x05A8), -- Cantillation Mark (i.e. trope)
@Vowel NVARCHAR(5) = NCHAR(0x05B8); -- Vowel
DECLARE @Dot_Mark_Vowel NVARCHAR(20) = @Shin + @Dot + @Mark + @Vowel,
@Dot_Vowel_Mark NVARCHAR(20) = @Shin + @Dot + @Vowel + @Mark,
@Vowel_Dot_Mark NVARCHAR(20) = @Shin + @Vowel + @Dot + @Mark,
@Vowel_Mark_Dot NVARCHAR(20) = @Shin + @Vowel + @Mark + @Dot,
@Mark_Vowel_Dot NVARCHAR(20) = @Shin + @Mark + @Vowel + @Dot,
@Mark_Dot_Vowel NVARCHAR(20) = @Shin + @Mark + @Dot + @Vowel,
@ShinDot_Mark_Vowel NVARCHAR(20) = @Shin + NCHAR(0x05C1) + @Mark + @Vowel;
SELECT @Dot_Mark_Vowel AS [Sin], @ShinDot_Mark_Vowel AS [Shin];
;WITH chr AS
(
SELECT *
FROM (VALUES
(@Dot_Mark_Vowel, 'Dot + Mark + Vowel'),
(@Dot_Vowel_Mark, 'Dot + Vowel + Mark'),
(@Vowel_Dot_Mark, 'Vowel + Dot + Mark'),
(@Vowel_Mark_Dot, 'Vowel + Mark + Dot'),
(@Mark_Vowel_Dot, 'Mark + Vowel + Dot'),
(@Mark_Dot_Vowel, 'Mark + Dot + Vowel'),
(@ShinDot_Mark_Vowel, 'ShinDot + Mark + Vowel')
) tmp([Hebrew], [Description])
) SELECT chr1.[Hebrew],
'--' AS [---],
chr1.[Description] AS [Description_1],
CONVERT(VARBINARY(20), RIGHT(chr1.[Hebrew], 3)) AS [Bytes_1],
'--' AS [---],
chr2.[Description] AS [Description_2],
CONVERT(VARBINARY(20), RIGHT(chr2.[Hebrew], 3)) AS [Bytes_2]
FROM chr chr1
CROSS JOIN chr chr2
WHERE chr1.[Description] <> chr2.[Description] -- do not compare item to itself
AND chr1.[Hebrew] = chr2.[Hebrew] COLLATE Hebrew_100_CS_AS_SC
AND chr1.[Hebrew] = chr2.[Hebrew] COLLATE Latin1_General_100_CS_AS_SC
AND chr1.[Hebrew] = chr2.[Hebrew] COLLATE Japanese_XJIS_140_CS_AS;
-- this query returns 30 rows
มันขึ้นอยู่กับหลาย ๆ อย่าง การเรียงลำดับคือการเรียงลำดับการเปรียบเทียบและเพจโค้ดที่ไม่ใช่ยูนิโค้ด
repo นี้มีรายการตัวเลือกที่ดีรอบ ๆ ภาษาฮิบรู
+---------------------------+---------------------------------------------------------------------------------------------------------------------+
| Hebrew_BIN | Hebrew, binary sort |
| Hebrew_BIN2 | Hebrew, binary code point comparison sort |
| Hebrew_CI_AI | Hebrew, case-insensitive, accent-insensitive, kanatype-insensitive, width-insensitive |
| Hebrew_CI_AI_WS | Hebrew, case-insensitive, accent-insensitive, kanatype-insensitive, width-sensitive |
| Hebrew_CI_AI_KS | Hebrew, case-insensitive, accent-insensitive, kanatype-sensitive, width-insensitive |
| Hebrew_CI_AI_KS_WS | Hebrew, case-insensitive, accent-insensitive, kanatype-sensitive, width-sensitive |
| Hebrew_CI_AS | Hebrew, case-insensitive, accent-sensitive, kanatype-insensitive, width-insensitive |
| Hebrew_CI_AS_WS | Hebrew, case-insensitive, accent-sensitive, kanatype-insensitive, width-sensitive |
| Hebrew_CI_AS_KS | Hebrew, case-insensitive, accent-sensitive, kanatype-sensitive, width-insensitive |
| Hebrew_CI_AS_KS_WS | Hebrew, case-insensitive, accent-sensitive, kanatype-sensitive, width-sensitive |
| Hebrew_CS_AI | Hebrew, case-sensitive, accent-insensitive, kanatype-insensitive, width-insensitive |
| Hebrew_CS_AI_WS | Hebrew, case-sensitive, accent-insensitive, kanatype-insensitive, width-sensitive |
| Hebrew_CS_AI_KS | Hebrew, case-sensitive, accent-insensitive, kanatype-sensitive, width-insensitive |
| Hebrew_CS_AI_KS_WS | Hebrew, case-sensitive, accent-insensitive, kanatype-sensitive, width-sensitive |
| Hebrew_CS_AS | Hebrew, case-sensitive, accent-sensitive, kanatype-insensitive, width-insensitive |
| Hebrew_CS_AS_WS | Hebrew, case-sensitive, accent-sensitive, kanatype-insensitive, width-sensitive |
| Hebrew_CS_AS_KS | Hebrew, case-sensitive, accent-sensitive, kanatype-sensitive, width-insensitive |
| Hebrew_CS_AS_KS_WS | Hebrew, case-sensitive, accent-sensitive, kanatype-sensitive, width-sensitive |
| Hebrew_100_BIN | Hebrew-100, binary sort |
| Hebrew_100_BIN2 | Hebrew-100, binary code point comparison sort |
| Hebrew_100_CI_AI | Hebrew-100, case-insensitive, accent-insensitive, kanatype-insensitive, width-insensitive |
| Hebrew_100_CI_AI_WS | Hebrew-100, case-insensitive, accent-insensitive, kanatype-insensitive, width-sensitive |
| Hebrew_100_CI_AI_KS | Hebrew-100, case-insensitive, accent-insensitive, kanatype-sensitive, width-insensitive |
| Hebrew_100_CI_AI_KS_WS | Hebrew-100, case-insensitive, accent-insensitive, kanatype-sensitive, width-sensitive |
| Hebrew_100_CI_AS | Hebrew-100, case-insensitive, accent-sensitive, kanatype-insensitive, width-insensitive |
| Hebrew_100_CI_AS_WS | Hebrew-100, case-insensitive, accent-sensitive, kanatype-insensitive, width-sensitive |
| Hebrew_100_CI_AS_KS | Hebrew-100, case-insensitive, accent-sensitive, kanatype-sensitive, width-insensitive |
| Hebrew_100_CI_AS_KS_WS | Hebrew-100, case-insensitive, accent-sensitive, kanatype-sensitive, width-sensitive |
| Hebrew_100_CS_AI | Hebrew-100, case-sensitive, accent-insensitive, kanatype-insensitive, width-insensitive |
| Hebrew_100_CS_AI_WS | Hebrew-100, case-sensitive, accent-insensitive, kanatype-insensitive, width-sensitive |
| Hebrew_100_CS_AI_KS | Hebrew-100, case-sensitive, accent-insensitive, kanatype-sensitive, width-insensitive |
| Hebrew_100_CS_AI_KS_WS | Hebrew-100, case-sensitive, accent-insensitive, kanatype-sensitive, width-sensitive |
| Hebrew_100_CS_AS | Hebrew-100, case-sensitive, accent-sensitive, kanatype-insensitive, width-insensitive |
| Hebrew_100_CS_AS_WS | Hebrew-100, case-sensitive, accent-sensitive, kanatype-insensitive, width-sensitive |
| Hebrew_100_CS_AS_KS | Hebrew-100, case-sensitive, accent-sensitive, kanatype-sensitive, width-insensitive |
| Hebrew_100_CS_AS_KS_WS | Hebrew-100, case-sensitive, accent-sensitive, kanatype-sensitive, width-sensitive |
| Hebrew_100_CI_AI_SC | Hebrew-100, case-insensitive, accent-insensitive, kanatype-insensitive, width-insensitive, supplementary characters |
| Hebrew_100_CI_AI_WS_SC | Hebrew-100, case-insensitive, accent-insensitive, kanatype-insensitive, width-sensitive, supplementary characters |
| Hebrew_100_CI_AI_KS_SC | Hebrew-100, case-insensitive, accent-insensitive, kanatype-sensitive, width-insensitive, supplementary characters |
| Hebrew_100_CI_AI_KS_WS_SC | Hebrew-100, case-insensitive, accent-insensitive, kanatype-sensitive, width-sensitive, supplementary characters |
| Hebrew_100_CI_AS_SC | Hebrew-100, case-insensitive, accent-sensitive, kanatype-insensitive, width-insensitive, supplementary characters |
| Hebrew_100_CI_AS_WS_SC | Hebrew-100, case-insensitive, accent-sensitive, kanatype-insensitive, width-sensitive, supplementary characters |
| Hebrew_100_CI_AS_KS_SC | Hebrew-100, case-insensitive, accent-sensitive, kanatype-sensitive, width-insensitive, supplementary characters |
| Hebrew_100_CI_AS_KS_WS_SC | Hebrew-100, case-insensitive, accent-sensitive, kanatype-sensitive, width-sensitive, supplementary characters |
| Hebrew_100_CS_AI_SC | Hebrew-100, case-sensitive, accent-insensitive, kanatype-insensitive, width-insensitive, supplementary characters |
| Hebrew_100_CS_AI_WS_SC | Hebrew-100, case-sensitive, accent-insensitive, kanatype-insensitive, width-sensitive, supplementary characters |
| Hebrew_100_CS_AI_KS_SC | Hebrew-100, case-sensitive, accent-insensitive, kanatype-sensitive, width-insensitive, supplementary characters |
| Hebrew_100_CS_AI_KS_WS_SC | Hebrew-100, case-sensitive, accent-insensitive, kanatype-sensitive, width-sensitive, supplementary characters |
| Hebrew_100_CS_AS_SC | Hebrew-100, case-sensitive, accent-sensitive, kanatype-insensitive, width-insensitive, supplementary characters |
| Hebrew_100_CS_AS_WS_SC | Hebrew-100, case-sensitive, accent-sensitive, kanatype-insensitive, width-sensitive, supplementary characters |
| Hebrew_100_CS_AS_KS_SC | Hebrew-100, case-sensitive, accent-sensitive, kanatype-sensitive, width-insensitive, supplementary characters |
| Hebrew_100_CS_AS_KS_WS_SC | Hebrew-100, case-sensitive, accent-sensitive, kanatype-sensitive, width-sensitive, supplementary characters |
+---------------------------+---------------------------------------------------------------------------------------------------------------------+