CMSF - COMMON MYSQL STORED FUNCTION

CMSF - COMMON MYSQL STORED FUNCTIONの目的

CMSF - COMMON MYSQL STORED FUNCTIONはMYSQLを使いやすく便利にするための汎用的な共通関数の総称です。
あれば便利だけどまだない関数を実装し、全国津々浦々、様々なプロジェクトで共用できる汎用的なプログラムツールの作成を目指しています。

公開ツール

CMSF - COMMON MYSQL STORED FUNCTIONでは、以下のようなツールを公開予定です。

CMSF_FUNC_SAMPLE

CMSFを開発する際のサンプルファンクション。この関数を元に開発をする事で、プログラムが同じ規約に従って開発できるようになる事を目的としている。

CMSF_PROC_SAMPLE

CMSFを開発する際のサンプルプロシージャ。この関数を元に開発をする事で、プログラムが同じ規約に従って開発できるようになる事を目的としている。

CMSF_FUNC_PUT_LOG

単機能なログ出力関数。テーブルにログを格納することで、パフォーマンス分析や、エラー分析などデータを再利用する事が容易になる。

CMSF_PROC_PUT_LOG

CMSF_FUNC_PUT_LOGのラッパー関数、PROCEDUREにすることで、別のプログラムから呼びやすくしている。

CMSF_FUNC_GET_SEQUENCE

シーケンス採番用の関数、UUIDなどで採番するとDB内の関連がわかりにくくなってしまう。
この関数を元にIDを作成するとわかりやすいユニークなIDを簡単に生成できる。

CMFS_FUNC_PHP_SERIALIZE2CSV

PHPのSerialize関数を利用してシリアライズしてDBに保存されたデータをCSVデータに変換する関数
CSVに変換するので、1次元配列のみに対応している。

Symfonyを利用して、チェックボックスを実装すると、自動的にシリアライズされて保存されますが、
開発者はこの関数を用いて、SQL側で自動展開する際に利用しています。

CMSF_FUNC_ADDRESS2POSTALCODE

住所から郵便番号を検索する関数

住所を渡すとその住所に最もマッチする郵便番号が出力されます。

第2引数にTRUEを入れると、正確な住所チェック、 第2引数にFALSEを入れると、あいまい住所チェックを行います。

CMSF_FUNC_PHP_MB_CONVERT_KANA

日本語の表記ゆれを吸収する関数

PHPのmb_convert_kana関数を模して作成した
『記号、アルファベット、ローマ字、ひらがな、カタカナ、
 全角/半角、漢数字数字、法人格統一、異体字同字別体、
 スペース』
などの複数パターンデータの変換関数。

関数に引数を組み合わせて渡すことで、
一括でデータ変換を行うことができます。

関数に渡す変換パターンは以下の通りです。
r … 「全角」英字を「半角(ハンカク)」に変換
R … 「半角(ハンカク)」英字を「全角」に変換
n … 「全角」数字を「半角(ハンカク)」に変換
N … 「半角(ハンカク)」数字を「全角」に変換
a … 「全角」英数字を「半角(ハンカク)」に変換
A … 「半角(ハンカク)」英数字を「全角」に変換
s … 「全角」スペースを「半角(ハンカク)」に変換
S … 「半角(ハンカク)」スペースを「全角」に変換
k … 「全角片仮名」を「半角(ハンカク)片仮名」に変換
K … 「半角(ハンカク)片仮名」を「全角片仮名」に変換
h … 「全角ひら仮名」を「半角(ハンカク)片仮名」に変換
H … 「半角(ハンカク)片仮名」を「全角ひら仮名」に変換
c … 「全角かた仮名」を「全角ひら仮名」に変換
C … 「全角ひら仮名」を「全角かた仮名」に変換
b … (独自実装) 全角の記号を半角に変換
B … (独自実装) 半角の記号を全角に変換
v … (独自実装) 記号を削除
j … (独自実装) 漢数字を半角の数字に変換
T … (独自実装) 全角/半角スペースを両側から削除
I … (独自実装) 同意体/同字別体を正規化
P … (独自実装) 法人格を統一
p … (独自実装) 法人格を削除

CMSF_FUNC_MK_TABLE_SQL

現在定義されてあるテーブル情報から、create table文を出力する。

CMSF_FUNC_MK_INDEX_SQL

現在定義されてあるテーブル情報から、create index文を出力する。

CMSF_FUNC_MK_VIEW_SQL

現在定義されてあるテーブル情報から、create view文を出力する。