CMSF - COMMON MYSQL STORED FUNCTION ( MYSQL STORED PROCEDURE ) はMYSQLを使いやすく便利にするための汎用的な共通関数群です。
あれば便利だけどまだない関数を実装し、全国津々浦々、様々なプロジェクトで共用できる汎用的なプログラムツールの作成を目指しています。
例)
MYSQL STORED FUNCTION (PROCEDURE)のテンプレート関数
記号、アルファベット、ローマ字、ひらがな、カタカナ、全角/半角、漢数字数字、スペースなどを変換する関数
郵便番号、住所変換関数
PHPのUNSERIALIZE関数
単機能なログ出力関数
PHPのmb_convert_kana関数を模して作成した
『記号、アルファベット、ローマ字、ひらがな、カタカナ、
全角/半角、漢数字数字、法人格統一、異体字同字別体、
スペース』
などのデータを変換する関数。
関数に引数を組み合わせて渡すことで、
一括でデータ変換を行うことができます。
DBにこそ、細かいデータ変換用の関数がほしいと思うのですが、
なぜかまだ誰も作っていないので、作ってみました。
関数に渡す変換パターンは以下の通りです。
r … 「全角」英字を「半角(ハンカク)」に変換
R … 「半角(ハンカク)」英字を「全角」に変換
n … 「全角」数字を「半角(ハンカク)」に変換
N … 「半角(ハンカク)」数字を「全角」に変換
a … 「全角」英数字を「半角(ハンカク)」に変換
A … 「半角(ハンカク)」英数字を「全角」に変換
s … 「全角」スペースを「半角(ハンカク)」に変換
S … 「半角(ハンカク)」スペースを「全角」に変換
k … 「全角片仮名」を「半角(ハンカク)片仮名」に変換
K … 「半角(ハンカク)片仮名」を「全角片仮名」に変換
h … 「全角ひら仮名」を「半角(ハンカク)片仮名」に変換
H … 「半角(ハンカク)片仮名」を「全角ひら仮名」に変換
c … 「全角かた仮名」を「全角ひら仮名」に変換
C … 「全角ひら仮名」を「全角かた仮名」に変換
b … (独自実装) 全角の記号を半角に変換
B … (独自実装) 半角の記号を全角に変換
v … (独自実装) 記号を削除
t … (独自実装) "(",")" ,"(",")" ,"+","-"以外の記号を削除(NEW)
j … (独自実装) 漢数字を半角の数字に変換
Y … (独自実装) 全角カタカナの拗音・促音(ァィゥェォャュョ)を直音(アイウエオヤユヨ)へ変換
y … (独自実装) 半角カタカナの拗音・促音(ァィゥェォャュョ)を直音(アイウエオヤユヨ)へ変換
T … (独自実装) 全角/半角スペースを両側から削除
I … (独自実装) 同意体/同字別体を正規化
P … (独自実装) 法人格を統一
p … (独自実装) 法人格を削除
***************************************
CMSF_FUNC_PHP_MB_CONVERT_KANA 利用例
SELECT ' 百五十三aAbB12アイあき %#渡邊 (株)田邉 ' AS "DATA" , CMSF_FUNC_PHP_MB_CONVERT_KANA( ' 百五十三aAbB12アイあき %#渡邊 (株)田邉 ' , 'a' ) AS "CONVERT_DATA"
UNION ALL
SELECT ' 百五十三aAbB12アイあき %#渡邊 (株)田邉 ' AS "DATA" , CMSF_FUNC_PHP_MB_CONVERT_KANA( ' 百五十三aAbB12アイあき %#渡邊 (株)田邉 ' , 'Ta' ) AS "CONVERT_DATA"
UNION ALL
SELECT ' 百五十三aAbB12アイあき %#渡邊 (株)田邉 ' AS "DATA" , CMSF_FUNC_PHP_MB_CONVERT_KANA( ' 百五十三aAbB12アイあき %#渡邊 (株)田邉 ' , 'TaB' ) AS "CONVERT_DATA"
UNION ALL
SELECT ' 百五十三aAbB12アイあき %#渡邊 (株)田邉 ' AS "DATA" , CMSF_FUNC_PHP_MB_CONVERT_KANA( ' 百五十三aAbB12アイあき %#渡邊 (株)田邉 ' , 'TaBp' ) AS "CONVERT_DATA"
UNION ALL
SELECT ' 百五十三aAbB12アイあき %#渡邊 (株)田邉 ' AS "DATA" , CMSF_FUNC_PHP_MB_CONVERT_KANA( ' 百五十三aAbB12アイあき %#渡邊 (株)田邉 ' , 'TaBpI' ) AS "CONVERT_DATA"
UNION ALL
SELECT ' 百五十三aAbB12アイあき %#渡邊 (株)田邉 ' AS "DATA" , CMSF_FUNC_PHP_MB_CONVERT_KANA( ' 百五十三aAbB12アイあき %#渡邊 (株)田邉 ' , 'TaBpIj' ) AS "CONVERT_DATA"
実行結果
DATA CONVERT_DATA
百五十三aAbB12アイあき %#渡邊 (株)田邉 百五十三aAbB12アイあき %#渡邊 (株)田邉
百五十三aAbB12アイあき %#渡邊 (株)田邉 百五十三aAbB12アイあき %#渡邊 (株)田邉
百五十三aAbB12アイあき %#渡邊 (株)田邉 百五十三aAbB12アイあき %#渡邊 (株)田邉
百五十三aAbB12アイあき %#渡邊 (株)田邉 百五十三aAbB12アイあき %#渡邊 田邉
百五十三aAbB12アイあき %#渡邊 (株)田邉 百五十三aAbB12アイあき %#渡辺 田辺
百五十三aAbB12アイあき %#渡邊 (株)田邉 153aAbB12アイあき %#渡辺 田辺
0.0.1 初期リリース
0.0.2 長音、半角カタカナの拗音・促音、直音変換対応追加
0.0.3 ヴ変換対応追加・バグ修正
0.0.4 片仮名の場合に長音をーに統一
0.0.5 TORITONN用に"(",")" ,"+","-"以外の文字を削除する機能を追加