タグ

2011年1月8日のブックマーク (1件)

  • DB内の項目の半角全角を変換する。 - だらだらやるよ。

    年末アップしようと思って忘れてたので。 postgresqlのtranslate関数は、複数の文字を変換することができるので、 1文字対1文字の変換であれば、文字に限らず数字アルファベットも1文ですべて変換してしまうことができます。 問題は濁点、半濁点まじりの文字の場合。 これは1文字対1文字の置き換えではないので、replace関数を順番に適用していくしかないです。 この際注意しないといけないのが、WHERE句の指定で、これが無いとすべての行に対してUPDATEが走ってしまうので、 件数が2桁万件くらいになるとpostgresqlの場合パフォーマンスで問題が出ます。 というわけでコピペ用コードは以下。[table_name]、[column_name]を適切なテーブル名とカラム名に置き換えてくださいな。 UPDATE [table_name] SET [column_name] = re

    DB内の項目の半角全角を変換する。 - だらだらやるよ。
    umitanuki
    umitanuki 2011/01/08
    textsearch_ja ja_normalize()使うと吉