0

私の問題はカンマの欠落でした。机に頭をぶつけている間、この投稿を削除してください

実際には整数であるいくつかのVARCHAR列を持つデータベースがありますが、特定の理由により、列はINTではなくVARCHARである必要があります。明らかに、私は数字として並べ替えの問題を抱えています

7
8
9
10

並べ替え

10
7
8
9

私のSELECTステートメントは複数の結合とSELECT変数を使用しています。

SELECT master.column1, table2.column1, table2.column2, table3.column1 FROM master
LEFT JOIN table2
ON master.column1 = table2.column1
WHERE master.column1 LIKE 'whatever'
OR WHERE master.column2 LIKE 'whatever'
ORDER BY master.column1, master.column2, master.column3....

変数の1つだけにCAST関数を挿入する方法はありますか?

すなわちSELECT master.column1, CAST(table2.column1 AS UNSIGNED), table2.column2....

私は上記のようにそれを試すことに成功していません、そしてMySqlマニュアルは複数のSELECTまたはORDERBY変数を持っている例を与えていません。

ありがとうございました

4

2 に答える 2

1

おそらく、ORDER BY 句で CAST を使用する必要があります。

選択 ... ORDER BY master.column1、キャスト (master.column2 を varchar として)、master.column3....

Select句でCASTを使用すると、順序付けではなく出力にのみ影響します。

于 2012-06-01T22:28:46.187 に答える
0

CASTメソッドはorderby句で使用できませんか?わかりません。問題なく動作するはずです。

于 2012-06-01T22:18:29.250 に答える