C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.90023 の関連記事表示

<< 0 >>
■90023  漢数字列のソート
□投稿者/ me -(2019/01/31(Thu) 11:04:36)

    分類:[データベース全般] 

    ポストぐレスを使っています

    数字列を足してorder byする方法をせずに、漢数字の列でソートする(order by 漢数字列)と
    「第一 第三 第二 第五 第四」となるのを「第一 第二 第三 第四 第五」となる様にソートするには、
    どうすればよろしいですか?


    DBやSQLに詳しい方よろしくお願いします
親記事 /過去ログ155より / 関連記事表示
削除チェック/

■90025  Re[1]: 漢数字列のソート
□投稿者/ WebSurfer -(2019/01/31(Thu) 11:17:42)
    No90023 (me さん) に返信

    DB は何なのですか? SQL Server?

    照合順序は?
記事No.90023 のレス /過去ログ155より / 関連記事表示
削除チェック/

■90026  Re[1]: 漢数字列のソート
□投稿者/ kiku -(2019/01/31(Thu) 11:33:19)
記事No.90023 のレス /過去ログ155より / 関連記事表示
削除チェック/

■90028  Re[1]: 漢数字列のソート
□投稿者/ 魔界の仮面弁士 -(2019/01/31(Thu) 14:27:56)
    2019/01/31(Thu) 15:24:20 編集(投稿者)

    No90023 (me さん) に返信
    > ポストぐレスを使っています
    PostgreSQL が手元に無いため検証はできませんが:


    > 漢数字の列でソートする(order by 漢数字列)と
    > 「第一 第三 第二 第五 第四」となるのを

    OS のロケールにマッピングされた照合順序に依存するようなので、
    COLLATE 句を明示する必要がありそうです。
    https://www.postgresql.jp/document/9.1/html/collation.html

    何を指定するべきかまでは調べ切れていませんし、
    対応する照合順序が存在するかどうかさえ分かりませんが…。



    > 「第一 第二 第三 第四 第五」となる様にソートするには、

    もしも『辞書順』ではなく、単純に『コードポイント順』に
    バイナリ列の値の順序で並べられるのだとすれば、
    Unicode 系の場合は「一 三 二 五 四」
    日本語系符号化だと「一 五 三 四 二」になると思います。


    CJK 統合漢字は、基本的に「部首画数順」に割り当てられるので、
    Unicode だと下記の順。

     「一」:部首 一画「一(いち)」+0画
     「七」:部首 一画「一(いち)」+1画
     「三」:部首 一画「一(いち)」+2画
     「九」:部首 一画「乙(おつ)」+1画
     「二」:部首 二画「二(に)」+0画
     「五」:部首 二画「二(に)」+2画
     「八」:部首 二画「八(はち)」+0画
     「六」:部首 二画「八(はち)」+2画
     「十」:部首 二画「十(じゅう)」+0画
     「四」:部首 二画「口(くにがまえ)」+2画

    Shift_JIS や EUC-JP などは音読み順。

     「一」:いち
     「九」:く
     「五」:ご
     「三」:さん
     「四」:し
     「七」:しち
     「十」:じゅう
     「二」:に
     「八」:はち
     「六」:ろく

    ----

    コードページ 65001:UTF-8
      一(E4,B8,80) → 三(E4,B8,89) → 二(E4,BA,8C) → 五(E4,BA,94) → 四(E5,9B,9B)

    コードページ 1200:UTF-16 (リトルエンディアン)
      一(00,4E) → 三(09,4E) → 二(8C,4E) → 五(94,4E) → 四(DB,56)


    コードページ 932:Shift_JIS
      一(88,EA) → 五(8C,DC) → 三(8E,4F) → 四(8E,6C) → 二(93,F1)

    コードページ 51932:EUC-JP
    コードページ 20932:JIS 0208-1990 および 0212-1990
      一(B0,EC) → 五(B8,DE) → 三(BB,B0) → 四(BB,CD) → 二(C6,F3)

    コードページ 50220:iso-2022-jp (JIS コード)
      一(30,6C) → 五(38,5E) → 三(3B,30) → 四(3B,4D) → 二(46,73)
記事No.90023 のレス /過去ログ155より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -