SELECT * FROM maker_mst ORDER BY maker_kana ASC;
では ヴが一番下になってしまう。
SELECT *, REPLACE(maker_kana, 'ヴ', 'ウ一') AS replace_kana FROM maker_mst ORDER BY replace_kana ASC;
とすればウとエの間になる。
漢字の「一」に変換したが「ー」以降の文字であればなんでもよい。
(UTFの全角カナの範囲 「ァ」E382A1 ~ 「ヶ」E383B6 それと 「ー」E383BC とする)
symfonyのpropelでは
addSelectColumn()
addAscendingOrderByColumn()
のメソッドを使えば可能。
例)MakerMstPeer.php 等で criteria生成時に
parent::addSelectColumns($objCriteria);
switch ($arrSearch['sort_column'])
{
case "maker_name_kana_asc":
$objCriteria->addSelectColumn("REPLACE(".MakerMstPeer::MAKER_NAME_KANA.", 'ヴ','ウ一') AS replace_kana");
$objCriteria->addAscendingOrderByColumn('replace_kana');
break;
}

