数値のみを格納する MySQL テーブルに VARCHAR カラムがあります。クエリを実行すると
mytable の title_no として MAX(title_no) を選択999 を取得しましたが、title_no 列の値が 999 を超えるテーブルのレコードが他にもあります。
列を varchar から int に変更することはできません。正しい番号を取得するのを手伝ってください。
ありがとう
MAX(CAST(title_no AS SIGNED))
.
あなたはこれを使うことができます -
SELECT MAX(title_no * 1) AS title_no FROM mytable
以下の別の方法を試してください。
SELECT MAX(CAST(title_no AS SIGNED)) AS title_no FROM mytable;
また
SELECT MAX(CONVERT(title_no,UNSIGNED INTEGER)) FROM mytable;
また
SELECT MAX(title_no * 1) AS title_no FROM mytable
フィールドがvarchar型であるため、文字比較になるためです。整数に変換する必要があります。このSQL FIDDLEを参照してください