3

数値のみを格納する MySQL テーブルに VARCHAR カラムがあります。クエリを実行すると

mytable の title_no として MAX(title_no) を選択
999 を取得しましたが、title_no 列の値が 999 を超えるテーブルのレコードが他にもあります。

列を varchar から int に変更することはできません。正しい番号を取得するのを手伝ってください。

ありがとう

4

6 に答える 6

10
MAX(CAST(title_no AS SIGNED))

.

于 2013-05-14T05:16:41.320 に答える
1

あなたはこれを使うことができます -

SELECT MAX(title_no * 1) AS title_no FROM mytable 
于 2013-05-14T05:22:04.827 に答える
0

以下の別の方法を試してください。

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 
于 2013-05-14T05:17:34.700 に答える
0

フィールドがvarchar型であるため、文字比較になるためです。整数に変換する必要があります。このSQL FIDDLEを参照してください

于 2013-05-14T05:22:15.933 に答える