বাইবেলের হিব্রু জন্য আমার কোন কোলেশন ব্যবহার করা উচিত?


19

বাইবেলের হিব্রুতে আমার কোন এসকিউএল সার্ভারের কোলেশন ব্যবহার করা উচিত? বিবেচনাধীন ডাটাবেসগুলিতে ডায়াক্রিটিক্স (যেমন, স্বর, অ্যাকসেন্ট, ট্রপ ইত্যাদি) সমন্বিত হওয়া দরকার।

উত্তর:


34

প্রথম: বাইবেল হিব্রু এবং আধুনিক হিব্রু মধ্যে কোন পার্থক্য, সমষ্টি-ভিত্তিক, আছে। আমরা কেবল হিব্রু নিয়ে কাজ করছি।

দ্বিতীয়ত: অন্য যেকোন কিছু না হোক, আপনি নতুন কোলেশনগুলির সেটটি ব্যবহার করতে চান, যা _100_সিরিজ হিসাবে তাদের নামে পুরানো সিরিজের তুলনায় আরও নতুন / আরও সম্পূর্ণ সাজানো ওজন এবং ভাষাগত নিয়ম রয়েছে (নামটি প্রযুক্তিগতভাবে সংস্করণ নয় 80)।সাধারণত আমি আপনার যা প্রয়োজন কলেশনের নতুন সংস্করণটি সর্বাধিক উচ্চারণ করার পরামর্শ দিচ্ছি, তবে কমপক্ষে এই এক উদাহরণে নামের কোনও সংস্করণ নম্বর না থাকলে সংস্করণটি ব্যবহার করার উপযুক্ত কারণ রয়েছে। সংস্করণ 100 (অথবা ঊর্ধ্বতন সংস্করণ) collations অনেক বেশী সম্পূর্ণ হয়, এবং সম্পূরক অক্ষরের মধ্যে পার্থক্য করতে পারেন (বা এমনকি সম্পূর্ণরূপে তাদের সমর্থন যদি কোনো ব্যবহার SCবা 140কোলেশন), কিন্তু অভিমানী যে আপনার সম্পূরক অক্ষর, তারপর সংস্করণ 80 সঙ্গে তার আচরণ করা হয় না (কোনো সংস্করণ নাম অনুসারে নম্বর) কোলিশ হিব্রু হ্যান্ডল করার আরও ভাল কাজ করে (নীচে আইটেম "সিক্সথ" দেখুন)।

তৃতীয়: হিব্রুতে "কানা" (বা কানা-টাইপ) এর কোনও ধারণা নেই, সুতরাং আপনি _KSতাদের নামের সাথে জোটের কোনও পরিবর্তনকে উপেক্ষা করতে পারেন (এটি একটি সংবেদনশীলতা যা আপনি কখনই ব্যবহার করবেন না)।

চতুর্থটি:_SC সহায়তার পরিপূরক চরিত্রগুলিতে সমাপ্ত সমাপ্তিগুলি (অর্থাত্ সম্পূর্ণ ইউটিএফ -16) তাই সহজলভ্য হলে তাদের মধ্যে একটি বেছে নেওয়া ভাল (অর্থাত্ যদি আপনি এসকিউএল সার্ভার 2012 বা আরও নতুন ব্যবহার করছেন)।

পঞ্চম: আপনি একটি বাইনারি কোলেশন চান না ( _BINবা _BIN2) যেহেতু সেগুলি উভয় স্বর এবং ক্যান্টিলিشن চিহ্নগুলির সাথে হিব্রু অক্ষরের মধ্যে পার্থক্য করতে পারে না তবে একই সাথে পৃথক ক্রমে সম্মিলিত অক্ষর রয়েছে এবং তারা স্বর এবং অন্যান্য চিহ্নগুলিকে উপেক্ষা করতে পারে না אএবং মত জিনিস সমান אֽ

উদাহরণস্বরূপ (স্বর এবং ক্যান্টিলেশন চিহ্ন বিপরীত ক্রমে অক্ষরগুলির সংমিশ্রণ করে):

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

ষষ্ঠ: আপনি স্ট্রিংয়ের মানগুলির সাথে কীভাবে ইন্টারঅ্যাক্ট করবেন তা নির্ভর করে। হিব্রুতে আপার-কেস / লোয়ার-কেস অক্ষর নেই, তবুও কয়েকটি কোড পয়েন্ট রয়েছে যা কেস-সংবেদনশীলতায় প্রভাবিত হয়। এমনকি কয়েকটি কোড পয়েন্ট রয়েছে যা প্রস্থ-সংবেদনশীল। স্বর-সংবেদনশীল / সংবেদনশীল স্বর, উচ্চারণ এবং ক্যান্টিলেশন চিহ্নগুলির (যেমন ট্রপ) জন্য ব্যবহৃত ডায়াক্রিটিক্সকে প্রভাবিত করে ।

  1. আপনার কি একই চিঠির চূড়ান্ত এবং চূড়ান্ত-চূড়ান্ত রূপগুলির মধ্যে পার্থক্য করা দরকার? হিব্রু ভাষায় পাঁচটি অক্ষর রয়েছে যা শব্দের চূড়ান্ত অক্ষর হিসাবে ব্যবহৃত হলে আলাদা লাগে। এসকিউএল সার্ভার এটি কেস-সংবেদনশীলতা / _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)
  2. আপনার কি উচ্চারণের চিহ্ন, স্বর এবং ক্যান্টিলেশন চিহ্নগুলির মধ্যে পার্থক্য করা দরকার? এসকিউএল সার্ভার এটি অ্যাকসেন্ট-সংবেদনশীলতা / _ASকোলিশেশনের মাধ্যমে পরিচালনা করে (যদিও দুর্ভাগ্যক্রমে, এটি নতুনতে ভাঙ্গা বলে মনে হয়, এবং সাধারণত উন্নততর, সংস্করণ 100 এবং আরও নতুন কোলিশেশন)। দয়া করে মনে রাখবেন যে এই তিনটিই একসেন্ট-সংবেদনশীলতার অধীনে একত্রে গোষ্ঠীভূত এবং আলাদাভাবে নিয়ন্ত্রণ করা যায় না (যেমন আপনি স্বর সংবেদনশীল কিন্তু ক্যান্টিলিকেশন চিহ্ন সংবেদনশীলতা করতে পারবেন না)।

    উচ্চারণের চিহ্নগুলি

    বেশ কয়েকটি বর্ণ রয়েছে যার দুটি পৃথক শব্দ রয়েছে। কখনও কখনও একমাত্র সূচক যার জন্য শব্দটি ব্যবহার করা হয় তা হ'ল অক্ষরটি কোন শব্দের মধ্যে রয়েছে (এবং কখনও কখনও এমনকি আশেপাশের শব্দগুলিও রয়েছে) যেমন প্রকৃত তোরাতে (যেখানে উচ্চারণের চিহ্ন বা স্বর নেই)। তবে, একই আকারে অন্য রূপগুলিতে এবং অন্যান্য পাঠ্যগুলিতে অক্ষরের ভিতরে বা শিন অক্ষরের জন্য অক্ষরের উপরে বিন্দু থাকবে। শিন অক্ষরটির একটি "শ" বা "এস" শব্দ হতে পারে। "শ" শব্দের (অর্থাত্ অক্ষর "শিন") নির্দেশ করতে, ডানদিকে উপরে একটি বিন্দু রয়েছে এবং বামদিকে উপরের একটি বিন্দুটি "গুলি" শব্দকে চিহ্নিত করে (অক্ষর "পাপ"):

    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)

    ক্যান্টিলেশন চিহ্ন

    প্রযুক্তিগতভাবে, অফিসিয়াল ইউনিকোডের তথ্য অনুসারে, হিব্রু ক্যান্টিলেশন চিহ্নগুলি অজ্ঞাতসারে এবং বাইনারি কোলেশন ব্যবহার করার সময় কেবল এখানে পার্থক্য হিসাবে নিবন্ধিত হওয়া উচিত । যাইহোক, এসকিউএল সার্ভার তাদের উচ্চারণগুলির মতো একইরূপে আচরণ করে (দুর্ভাগ্যক্রমে) এবং উচ্চারণের চিহ্ন বা স্বরগুলি থেকে আলাদা করে এড়িয়ে যেতে পারে না।

    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)
  3. আপনার কি একই বর্ণের প্রশস্ত এবং অ-প্রশস্ত আকারের মধ্যে পার্থক্য করা দরকার? হিব্রু ভাষায় আটটি অক্ষর রয়েছে যা প্রসারিত (প্রশস্ত) তবে কেবল তাওরাত স্ক্রোলগুলিতে ব্যবহার করার উদ্দেশ্যে (হাতে লেখা / বাস্তব বা মুদ্রিত) সম্পূর্ণরূপে ন্যায়সঙ্গত কলামার ফর্ম্যাটটি রাখতে পারে (যা আসলে তাওরাত স্ক্রোলগুলিতে প্রদর্শিত হয়) )। এসকিউএল সার্ভার প্রস্থ-সংবেদনশীলতা / _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

অতিরিক্ত নোট

  1. আপনাকে NVARCHARকলাম / ভেরিয়েবলগুলিতে ডেটা সংরক্ষণ করতে হবে । আপনি স্বর এবং উচ্চারণ বিন্দুগুলির জন্য অক্ষরগুলির সমন্বয় সহ উইন্ডোজ -১৫৫ কোড পৃষ্ঠাটি (যা সব কোলিশন ব্যবহার করে) ব্যবহার করে নিয়মিত 8-বিটের মাধ্যমে আপনি বেশিরভাগটি সম্পাদন করতে পারেন :VARCHARHebrew_*

    ;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
    

    তবে কেবল ইউনিকোড হিব্রু ব্লকে ক্যান্টিলেশন চিহ্ন রয়েছে (যেমন ট্রপ; ইউ + 05 এফ মাধ্যমে কোড পয়েন্ট U + 0591) এবং কয়েকটি অতিরিক্ত (কোড পয়েন্ট U + 05C4 ইউ + 05 সি 7 এর মাধ্যমে) এবং বর্ণমালা উপস্থাপনা ফর্মগুলি ব্লকটিতে বিস্তৃত রয়েছে বেশ কয়েকটি অক্ষরের প্লাস কিছু অন্যান্য স্টাফ।

  2. অনুগ্রহ করে অফিসিয়াল ইউনিকোড স্ট্যান্ডার্ড (সংস্করণ 12.1), অধ্যায় 9: মধ্য প্রাচ্য -১, বিভাগ 9.1: হিব্রু, পৃষ্ঠা 361-366 (পিডিএফের 389-394)কীভাবে ইউনিকোড হিব্রু পাঠ্য পরিচালনা করে তার আরও বিশদ বিবরণের জন্য দেখুন।
  3. অফিসিয়াল ইউনিকোড সিএলডিআর (স্থানীয়ভাবে নির্দিষ্ট টেইলারিংস) হিব্রু সংস্কৃতির জন্য নিয়ম অনুসারে ("তিনি" এবং "তিনি-আইএল") সংস্কৃতি অনুসারে ইউ + 05 এফ 3 হিব্রু বিরামচিহ্ন গিরেশের সাথে ম্যাচ করা উচিত বা এর আগে আসা উচিত , ইউ + 0027 এপোস্ট্রোফ। সাধারণত, ইউ + 05F3 অ্যাডাস্ট্রোফের পরে বাছাই করেআইসিইউ কোলেশন ডেমো ব্যবহার করার সময় এবং "রুট" / স্ট্যান্ডার্ড বাছাই অর্ডার (ইউএস ইংলিশ / "এন-ইউএস" ব্যবহৃত) এবং "তিনি" এর মধ্যে স্যুইচ করার সময় এই আচরণটি প্রকৃতপক্ষে দেখা যায় । যাইহোক, এই আচরণটি। নেট বা এসকিউএল সার্ভারে উপলব্ধ বলে মনে হয় না:

    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

    দুর্ভাগ্যজনকভাবে বাদ পড়ার পরেও, এটি বোঝা যায় যে আমি উইন্ডোজ বাছাই ওজন সারণী ফাইলগুলিতে কোনও "তিনি" বা "তিনি-আইএল" -র নির্দিষ্ট দর্পণ দেখতে পাচ্ছি না। এর খুব ভাল অর্থ হতে পারে যে সম্পর্কিত কোড পৃষ্ঠার বাইরের Hebrew_*এবং Latin1_General_*কোলেশনগুলির মধ্যে কোনও আসল পার্থক্য নেই , যা কেবলমাত্র VARCHARডেটার জন্য ব্যবহৃত হয় এবং এটি এখানে প্রয়োগ হয় না।

  4. দয়া করে সম্পর্কিত প্রশ্নোত্তর দেখুন: হিব্রু অ্যাকসেন্ট চিহ্নগুলি কীভাবে স্ট্রিপ করবেন

ওপি উত্তর দিয়েছিল:

হ্যাঁ, আমাকে এর মধ্যে পার্থক্য করতে হবে: ১) একই বর্ণের চূড়ান্ত এবং চূড়ান্ত নয় 2) উচ্চারণের চিহ্ন 3) স্বর এবং 4) ক্যান্টিলিকেশন চিহ্নগুলি।

সেক্ষেত্রে যেহেতু আপনাকে এই বৈশিষ্ট্যগুলির মধ্যে পার্থক্য উপেক্ষা করার দরকার নেই, তাই আপনি 100 স্তরের কোলেশন ব্যবহার করতে পারেন। নীচের উদাহরণে একটি হিব্রু বর্ণ (পাপ) একটি উচ্চারণ চিহ্ন, একটি ক্যান্টিলেশন চিহ্ন এবং একটি স্বর দেখায়। ছয়টি সংস্করণ রয়েছে যাতে সম্মিলিত অক্ষরের ক্রমগুলির প্রতিটি সম্ভাব্য সংমিশ্রণটি উপস্থাপিত হতে পারে। শিন অক্ষরটি একই বেস লেটার, স্বরবর্ণ এবং ক্যান্টিলেশন চিহ্ন দিয়ে তৈরি করতে একটি সপ্তম এন্ট্রি রয়েছে। কোয়েরিতে দেখানো হয়েছে যে কেবল ছয়টি "পাপ" এন্ট্রি একে অপরের সাথে মেলে (এমনকি বিভিন্ন বাইট অর্ডার সহ) তবে "শিন" নয় not

আমি তাদের ব্যবহার 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

হ্যাঁ, আমাকে এর মধ্যে পার্থক্য করতে হবে: ১) একই বর্ণের চূড়ান্ত এবং চূড়ান্ত নয় 2) উচ্চারণের চিহ্ন 3) স্বর এবং 4) ক্যান্টিলিকেশন চিহ্নগুলি।
brian12345

1
@ brian12345 এই আপডেটের জন্য ধন্যবাদ। আমি উত্তরটির নতুন, চূড়ান্ত বিভাগে সেই স্পষ্টতাটি সম্বোধনের জন্য আমার উত্তর আপডেট করি। পর্যালোচনা করুন.
সলোমন রুটজকি

ধন্যবাদ, সলোমন খুব উপকারী.
brian12345

8

এটা একটা অনেক উপর নির্ভর করে। কোলেশন হ'ল বাছাই করা, তুলনা করা এবং অ-ইউনিকোড কোড পৃষ্ঠা।

এই রেপো হিব্রু বিকল্পগুলির একটি ভাল তালিকা রয়েছে।

+---------------------------+---------------------------------------------------------------------------------------------------------------------+
| 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         |
+---------------------------+---------------------------------------------------------------------------------------------------------------------+
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.