テーブルに列があり、100012345 などの値が含まれています。列は varchar です。ここで、これを同様の値と比較したいと思います。
... where myColumn > '100012345'
例えば。どうすればそれができますか?
ありがとう!
テーブルに列があり、100012345 などの値が含まれています。列は varchar です。ここで、これを同様の値と比較したいと思います。
... where myColumn > '100012345'
例えば。どうすればそれができますか?
ありがとう!
select * from your_table
where cast(your_column as signed) = 100012345
次のように、通常どおりに実行しようとしましたか。
... where myColumn > 100012345
それはうまくいくはずです!、mysql は、数値操作のコンテキストにある場合、文字列を自動的に数値にキャストします。同様に、数値が文字列コンテキストで使用されている場合は、数値を文字列にキャストします。型変換ドキュメントの例を参照してください。
数値コンテキストで文字列を数値にキャストするには、通常、文字列値を数値として使用する以外に何もする必要はありません。
mysql> SELECT 1+'1';
-> 2
算術演算で文字列を使用すると、式の評価中に浮動小数点数に変換されます。
文字列コンテキストで数値を使用すると、数値は自動的に文字列に変換されます。
mysql> SELECT CONCAT('hello you ',2);
-> 'hello you 2'
比較するために文字列を整数にキャストする必要はありません。mysql が自動的に行います。
http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html
値を整数にキャストできます。
CAST(myColumn AS INTEGER)