sqliteの覚え書き – replace

Pocket

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

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

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

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

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

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

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください