Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

MySQLでは文字列でもBETWEENや不等号は使える

MySQLでIPアドレスを記録する方法 - public static void main」の訂正です。
上の記事で、IPアドレスを数値型で保存するメリットとして、BETWEENや不等号が使えることをあげましたが、文字列型でもBETWEENや不等号が使えます。
今まで、使う機会がなかったので知りませんでした。
たとえば、

id body
1 aaa
2 aab
3 baa

というテーブルに以下のようなSQLを実行すると、。

SELECT * FROM test WHERE body BETWEEN 'a' AND 'b';

以下のような結果が返ってきます。

+----+---------+
| id |  body   |
+----+---------+
|  1 | aaa     |
|  2 | aab     |
+----+---------+
2 rows in set (0.00 sec)

考えてみれば、文字列のソートなどが可能なのは、比較が可能だからこそですね。



参考:
MySQL :: MySQL 5.6 リファレンスマニュアル :: 8.4.1 データサイズの最適化