sqliteの覚え書き – replace

By ctrans | 2010-03-04

先日、北辞郎のデータベースの内容を修正した。「一边~一边~」のように一部を省略した見出し語を登録できるようにしたのだが、これまで「~」(波線、中国語では波浪线、波折线)で表していた省略部分は、一般的な中日辞典に合わせて「……」(省略号)で表すことにした。こうなると過去に登録してあった「愈~愈~」なども「愈……愈……」に修正する必要がある。

ここで私の思考が停止した。さて、文字列の一部を置換するにはどういうSQLを実行すればいいんだっけか?

検索して調べた結果、TkSQLiteでreplace関数を利用すれば上述の置換処理を行うことができた。SQLiteのCore Functionsにもreplaceはあるみたいだが、こっちについては確認していないのでよく分からない(え)

実行例:
dictionaryというテーブルにchinese, pinyin, japaneseというカラムがあるとする。DBをTkSQLiteで開いて以下のSQLを実行する。

UPDATE dictionary SET chinese = replace(chinese, '~', '……');

蛇足:中国語のIMEで「……」を入力するには[Shift + 6]、「~」は[Shift + 全角/半角]を押す(日本語キーボードの場合)。

web拍手

Leave Your Comment

Your email will not be published or shared.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">