まず、日付値を整数として保存しないでください。それが管理下にある場合は、データベースと、日付の代わりにその列に整数値を挿入するクエリを修正することを目標にする必要があります。
現在のセットアップで使用する必要がある 2 つの日付関数UNIX_TIMESTAMP()
は、日付値をFROM_UNIXTIME()
受け入れてエポック タイムスタンプ整数を返すものと、エポック タイムスタンプ整数を受け入れて日付値を返すものです。
あなたの例では、次のいずれかを使用できます。
SELECT * FROM table_name WHERE FROM_UNIXTIME(date_field) > '01/01/2011';
また
SELECT * FROM table_name WHERE date_field > UNIX_TIMESTAMP('01/01/2011');
FROM_UNIXTIME
ただし、次のようなより高度なクエリを簡素化するため、一般的なルールとして使用することをお勧めします。
SELECT * FROM table_name WHERE
FROM_UNIXTIME(date_field)
BETWEEN '01/01/2013' AND '04/01/2013';
基本的に、日付フィールドが実際に日付型の値を格納するまで、クエリはフィールド値を で変換する必要がありますFROM_UNIXTIME
。