CASTとか
なんかすごく効率の悪そうなSQL文だけど、
[php]<?php
// mysql
$sql =<<<EOD_SQL
SELECT
*
FROM
hoges
WHERE
CAST(age AS SIGNED) <= ?
EOD_SQL;
// $dbh は MDB2 のオブジェクトだよ
$list = $dbh->getAll($sql, NULL, array($age));
[/php]
ageフィールドを文字列型にした + プリペアステートメントの場合、CAST を使わないとうまく動作しなかった。
文字列比較になる。
ちなみにプリペアステートメント使わずにベタで書くと数値比較になる。
あー。
ってか、getAll の第二引数(確かデータタイプだったような)をちゃんと指定すればもしかして数値扱いしてくれたのか?
マニュアルよく読め俺。