我正在检查Graphserver的代码,并且有一些 SQLite 命令旨在查找两个字段的最小值和最大值:
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#collat ion )它说 memcmp() 用于比较。所以它只是从字符串的开头逐字节比较ascii数字?我不确定 memcmp 是做什么的。所以 20120506 应该小于 20120507,因为 6 在 ascii 中是 54,7 是 55 是 ascii,所以 20120507 更大?