OracleのTO_SINGLE_BYTE関数をMySQLで

| | Technical | コメント(0) | OracleのTO_SINGLE_BYTE関数をMySQLで

社内サーバで、CGIのデータベースをOracleからMySQLに移行している作業の最中。

CGIはPerlで、元々の開発者がDBD/DBIを使って作っていてくれたおかげで、MySQLへの接続対応もほんの数行で完了。DBD/DBIに感謝。

ただ、SQL構文の違いや、MySQLの日本語の扱いについて少しはまってしまった。中でもOracleのTO_SINGLE_BYTE関数の代替がMySQLには無いってこと。関数の名前のとおり、文字列中の全角文字を半角文字に変換する(英数字、記号が対象)のだけど、これを使っている箇所があってちょっとだけ困ってしまった。

仕方ないので、全角→半角変換をPerl側で代わりに処理することにして、データも加工することにしたけれど、この変換って定石は無いのだろうか。Encodeモジュール、Jcode.pl、Jcode.pmともそういう関数は提供されていないみたいで、CPANからUnicode::Japaneseモジュールを引っ張ってきてOKだったけど…。意外とニーズが無いってことなのかな。

あとは、Oracleでトリガとストアドを使っている部分をどうやって移行するか…。

コメントする

2008年9月

  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30        

プロフィール

福岡在住、30歳。

組み込み系をしている元IT系エンジニア。

某大手?ソフト開発会社で研究開発っぽいプログラマ。
京都好き。旅好きでもあるけれど行く暇が無いのが悩み。

Twitter
flickr
mixi
はてな分室
はてなブックマーク
本棚(本棚.org)
ほんとのサイト入り口



このブログ記事について

このページは、が2005年8月20日 01:36に書いたブログ記事です。

ひとつ前のブログ記事は「ほぼ日手帳 2006」です。

次のブログ記事は「こんなベンダーは嫌われる(日経コンピュータの特集)」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

月別 アーカイブ

2003: 1 2 4 6
2002: 1 2 3 4 5 6 7 8 9 10 11 12
2001: 1 2 3 4 5 6 7 8 9 10 11 12
2000: 1 2 3 4 5 6 7 8 10 11 12
1999: 1 2 3 4 5 6 7 8 9 10 11 12
1998: 4 5 8 9 10 11 12

ウェブページ

Powered by Movable Type 4.21-ja