SQLite 9

このエントリーをはてなブックマークに追加
936NAME IS NULL:2012/08/09(木) 21:04:08.40 ID:???
そのとおりです読みの順番です
やっぱ膨大な辞書DBでもないと無理ですよね
なんか関数を組み込めるらしいので出来たりしないかなと思ったのですが
937NAME IS NULL:2012/08/09(木) 22:20:29.57 ID:???
>>936
漢字コードの並びはJIS第一水準が音読みで第二水準が部首順じゃなかったかな。
だから読みで並べるのは無理だし、漢字には複数の読み方があるので
期待通りには並ばないな。

素直にフリガナ付けてそっちでソート
938NAME IS NULL:2012/08/10(金) 05:28:19.10 ID:???
>>936
> やっぱ膨大な辞書DBでもないと無理ですよね

>>937 も書いてる通り、「漢字には複数の読み方がある」から根本的に無理。
特に人名は顕著だし。
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1238067142

たまに間違えてもいいなら、膨大な辞書もって統計的に推定する方法が取れ
るかもしれないが。
939NAME IS NULL:2012/08/10(金) 10:05:53.54 ID:???
ふつうに考えれば音訓複数の読みがある上に複合語では同じ単語でも読みが異なるとか
そのままソートが不可能だと思わないのかな?
940NAME IS NULL:2012/08/10(金) 10:47:54.29 ID:dgVF/wY5
老舗と世論が並んでたらどっちが先にくるのかっていう
941NAME IS NULL:2012/08/10(金) 11:22:23.57 ID:???
>>939
漢字列でソートしてくれなんて要求が有ったら
脊髄反射レベルで断る。
942NAME IS NULL:2012/08/10(金) 12:41:38.02 ID:???
日本向けにカスタマイズされた日本製RDBMSでもあれば
そういう機能も組み込んでるでしょう
まあたぶんないけど
943NAME IS NULL:2012/08/10(金) 13:17:36.07 ID:???
>>940
?と思ったけど「ろうほ」なんて読み方有るんだな、知らなかった。
944NAME IS NULL:2012/08/10(金) 13:27:16.96 ID:dgVF/wY5
浅草と浅草寺とか
945NAME IS NULL:2012/08/10(金) 13:42:11.42 ID:???
>>942
組み込んでるも何も、原理的に無理という話なんだが。
946NAME IS NULL:2012/08/10(金) 15:03:22.17 ID:???
原理的に無理じゃない
作ろうと思えば作れる
947NAME IS NULL:2012/08/10(金) 15:20:50.22 ID:???
じゃあ >>240 の分だけでいいから、作ってみなよ。
948NAME IS NULL:2012/08/10(金) 15:44:23.82 ID:dgVF/wY5
藤村俊二と島崎藤村とか
949NAME IS NULL:2012/08/10(金) 21:38:08.93 ID:???
>>946
漢字の1〜n個の全ての組み合わせのソート用辞書を作れば不可能ではないな。
そんなんやるんなら素直にふりがな付けます。
950NAME IS NULL:2012/08/10(金) 21:56:43.55 ID:???
>>949
その組み合わせのどれを選択するつもりなんだよ…。

ネタで言ってるんじゃないなら、まじでプログラマー向いてないと思うぞ。
951NAME IS NULL:2012/08/11(土) 14:01:32.87 ID:???
>>949
>>940はどうすんだよ、池沼
952NAME IS NULL:2012/08/11(土) 16:44:51.06 ID:???
>>950
漢字の全ての組み合わせに決まっておろうw
組み合わせの結果、存在しない熟語も含めて全てふりがな辞書を作る。

JIS第1と第2で6,355文字あるので10文字の組み合わせだけでも
107437414620186645551479209503916015625通り

計算違うか?w
今のハードでは無理だな
953NAME IS NULL:2012/08/11(土) 16:52:52.12 ID:???
>>952
熟語の振り仮名が一つじゃないって言う例が >>940 に書いてあるんだが…
954NAME IS NULL:2012/08/11(土) 17:33:11.66 ID:???
プログラマーに向いているとかの前に日本人じゃないんだろう。漢字を知らないとしか思えない。
955NAME IS NULL:2012/08/11(土) 17:55:25.89 ID:???
>>953
そういうのは普通のアプリ開発でも制限事項とするだろう。
それが許容されるかどうかは >>933 の顧客(?)の要求仕様次第。
956NAME IS NULL:2012/08/11(土) 17:56:51.51 ID:???
>>954
漢字を知らない連中がユニコード作っちゃったわけだが
957NAME IS NULL:2012/08/11(土) 18:42:07.46 ID:???
>>955
複数の読み方がある熟語は入力禁止とか? (w

これを「制限事項」とか言ってくるベンダーいたら今後取引しないよ。
958NAME IS NULL:2012/08/11(土) 19:18:02.08 ID:???
世論はせろんでもよろんでも意味は同じだが
追従はついしょうとついじゅうで意味が異なる。
困ったなw
959NAME IS NULL:2012/08/11(土) 21:16:49.53 ID:???
>>933-958
板違い。SQLiteどころかデータベース関係ないし。

続きは↓あたりでどうぞ。

・プログラム技術
 文字コード総合スレ part7
 http://toro.2ch.net/test/read.cgi/tech/1306595564/
960NAME IS NULL:2012/08/11(土) 21:18:18.91 ID:???
>>957
なんでやねん
片方の読みに統一やがな

>>958
『追従』だけでてきたら何かわからんがな

>>952 にあるような天文学的組み合わせが出てきた時点でネタ確定ですがな
おまえら暇なんやのぅ
961NAME IS NULL:2012/08/12(日) 08:39:04.56 ID:???
>>959
ORDER BYの話題だろ
962NAME IS NULL:2012/08/12(日) 17:24:37.04 ID:???
ORDER BYの話題になってないって話でしょ。
963NAME IS NULL:2012/08/12(日) 20:58:14.31 ID:???
これ任意のソートってできないの?
964NAME IS NULL:2012/08/13(月) 00:33:33.79 ID:???
「任意のソート」とか言う、オレオレ用語をちゃんと定義してくれ。
965NAME IS NULL:2012/08/13(月) 01:28:27.32 ID:???
つまりオレオレ並べ替え。
一行目を二行目と三行目の間に突っ込むとか。
966NAME IS NULL:2012/08/13(月) 01:37:23.98 ID:???
Excel でも使っとけ。
967NAME IS NULL:2012/08/13(月) 07:53:51.50 ID:???
みんな難しい事考えてるのね
968NAME IS NULL:2012/08/13(月) 08:54:20.50 ID:???
× 難しいこと
○ アホなこと
969NAME IS NULL:2012/08/13(月) 09:01:17.16 ID:???
おまえらしょうもないスケージュール管理とかそんなことしかやってないの?
970NAME IS NULL:2012/08/13(月) 09:07:04.84 ID:???
ちょと何言ってるかわかんない
971NAME IS NULL:2012/08/13(月) 10:06:11.02 ID:???
ORDER BY に延々と書けば好きな順番にできるw
972NAME IS NULL:2012/08/13(月) 10:24:19.03 ID:???
夏休みで空気脳が降臨しましたw
973NAME IS NULL:2012/08/13(月) 11:04:10.00 ID:???
日本脳炎ですね
974NAME IS NULL:2012/08/13(月) 11:40:26.14 ID:???
>>971
>>933を解決してください。
975NAME IS NULL:2012/08/13(月) 11:56:49.81 ID:???
>>974
>>963へのレスだよ。
同じ読みは人間でも区別付かないから無理だろ。

任意の順番なら、 ORDER BY num = 15 DESC, num = 3 DESC , ・・・
とかつなげりゃ好きな順番にできる。
976NAME IS NULL:2012/08/13(月) 11:58:01.64 ID:???
×同じ読み
○漢字の読み

ミスった
977NAME IS NULL:2012/08/13(月) 12:28:32.00 ID:???
>>971
一行目、二行目、三行目を識別するフィールドが無い場合は?
>>963 みたいな奴は、そういうテーブルでも何とかしろとか言うぞ。
Excel はできるからな。(w
978NAME IS NULL:2012/08/13(月) 13:46:16.75 ID:???
識別するフィールドとかそういう専門用語はわからないけど個別にidならふってるよ
979NAME IS NULL:2012/08/13(月) 14:50:46.24 ID:???
カードのシャフルみたいにidとか関係なく何枚目を何枚目の後に移動とかそういう事じゃないの?
980NAME IS NULL:2012/08/13(月) 15:14:19.82 ID:???
だからそう言ってんじゃん
981NAME IS NULL:2012/08/13(月) 15:19:58.81 ID:???
978を読めよ
982NAME IS NULL:2012/08/13(月) 21:30:14.97 ID:???
このスレきもすぎ
983NAME IS NULL:2012/08/13(月) 23:00:13.37 ID:7Zv3PRLA
というか文字列型って単なるbinary string扱いなんだよな

substr() がマルチバイト対応されてないので、五十音索引ページとか作ろうとすると、
アプリ側でもう一度集約処理してあげないといけなくて、うへぇ。。
984NAME IS NULL:2012/08/14(火) 21:41:33.98 ID:???
ふり仮名データみたいなのを一緒に持たせないときびしい
985NAME IS NULL
>>983
> substr() がマルチバイト対応されてないので

http://www.sqlite.org/lang_corefunc.html
substr(X,Y,Z): If X is a string then characters indices refer to actual UTF-8 characters.

> create table t (name text);
> .separator '\n'
> .import test.txt t1 -- test.txt は、このスレの内容を utf-8 で保存したもの。
> select substr(name, 1, 1), count(*) from t group by substr(name, 1, 1) order by count(*);
...
"お",94
"な",96
"あ",102
"ど",110
s,128
h,130
"こ",136
S,178
9,194
4,222
6,226
5,228
7,228
8,230
2,240
3,248
1,260
"そ",272
>,724
"",1562