私はGraphserverのコードをチェックしています.2つのフィールドの最小値と最大値を見つけることを意図したいくつかのSQLiteコマンドがあります:
select min(start_date), max(end_date) from calendar
start_date と end_date は YYYYMMDD のような形式ですが、これはhttp://www.sqlite.org/lang_datefunc.htmlで SQLite によって認識される形式の 1 つではないようです。ここに記載されている min() および max() http://www.sqlite.org/lang_corefunc.htmlは、バイナリ照合関数が比較に使用されることを示しています。ここ ( http://www.sqlite.org/datatype3.html#collat ion ) では、比較に memcmp() が使用されています。それで、ASCII番号の文字列の先頭からバイトごとに比較するだけですか?memcmp が何をするのかわかりません。したがって、20120506 は 20120507 よりも小さいと想定され、ASCII では 6 は 54、ASCII では 7 は 55 であるため、20120507 の方が大きいですか?