Mysql クエリの期間方法: 1. 従来の方法、つまり開始時刻と終了時刻を指定する; 2. UNIX タイムスタンプ、各時刻は一意の UNIX タイムスタンプに対応し、関数は [UNIX_TIMESTAMP(datetime )] です。 ]。
Mysql クエリ期間メソッド:
メソッド 1: 従来のメソッド、つまり開始時刻と終了時刻を指定し、「between」または「8a43c7dd0f94d2c178c3c05657689ef4」を使用して条件を設定します。たとえば、2010 年 3 月 1 日から 2010 年 3 月 2 日までのデータ件数をクエリするには、次のようにします。
select count(*) from sometable where datetimecolumn>='2010-03-01 00:00:00' and datetimecolumn<'2010-03-02 00:00:00'但是,这种方法由于时间不是整数型数据,所以在比较的时候效率较低,所以如果数据量较大,可以将时间转换为整数型的UNIX时间戳,这就是方法二。
方法 2: UNIX タイムスタンプを使用します。毎回、一意の UNIX タイムスタンプに対応します。タイムスタンプは '1970-01-01 00:00:00' から 0 として始まり、増加します。 1秒ごとに1ずつ増えます。 MySql には、従来の時間と UNIX 時間の間の組み込み交換関数があります。
UNIX_TIMESTAMP(datetime)
FROM_UNIXTIME(unixtime)
たとえば、
を実行すると、コードは次のようになります:
SELECT UNIX_TIMESTAMP('2010-03-01 00:00:00')
1267372800
実行
SELECT FROM_UNIXTIME(1267372800)
Returns '2010 -03-01 00:00:00'
したがって、時間フィールドのデータを整数の UNIX 時間に置き換えることができます。このようにして、比較時間は整数比較は、インデックスを確立すると効率が大幅に向上します。クエリを実行するときは、比較する前に、開始時刻と終了時刻をそれぞれ UNIX 時間に変換する必要があります (例:
select count(*) from sometable where datetimecolumn>=UNIX_TIMESTAMP('2010-03-01 00:00:00') and datetimecolumn<UNIX_TIMESTAMP('2010-03-02 00:00:00')
呼び出し側プログラムで UNIX 時間に変換して、それを MySql に渡すこともできます)。 , この方法では、期間をすばやくクエリするのに便利ですが、表示時間を再度反転する必要があります。
#その他の関連する無料学習の推奨事項: mysql チュートリアル(ビデオ)
以上がmysqlで期間をクエリする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。