半角文字を1文字、全角文字を2文字として文字数を算出する方法

PostgreSQLで文字数を半角文字基準で算出する。
処理内容は、
1.正規表現を使用して、半角カナを「_」に変換
2.任意の1バイト文字(半角空白” “から”~”まで)に合致しないものは全角文字なので、2文字分「__」に変換
3.lengthで文字数をカウント

全角文字基準で算出するなら、2で割ればいいが、文字数が奇数だった場合に整数での計算だと切り捨てられてしまうので、注意が必要。

PostgreSQLの正規表現の参考サイト
http://muchag.undo.jp/archives/443

-PostgreSQL, SQL