我檢查Graphserver的代碼並存在打算找兩個字段的最大值和最小值的一些SQLite的命令:SQLite的MIN()和MAX()的字符串(memcmp比較)
select min(start_date), max(end_date) from calendar
start_date和end_date的格式類似於YYYYMMDD,它看起來並不是SQLite在http://www.sqlite.org/lang_datefunc.html中識別的格式之一。 min()和max()記錄在這裏http://www.sqlite.org/lang_corefunc.html表示二進制整理函數用於比較。這裏(http://www.sqlite.org/datatype3.html#collation)它說memcmp()用於比較。那麼它只是比較ascii數字上字符串的開頭字節呢?我不確定什麼是memcmp。所以假設20120506小於20120507,並且由於ascii中的6是54,而ascii是7,所以20120507更大?
我的情況是列是TEXT。但當然他們都是數字。 – huggie 2012-07-30 13:08:35