MySqlクエリ期間メソッドのサンプルコード

怪我咯
リリース: 2017-07-06 11:28:32
オリジナル
1566 人が閲覧しました

この記事では、時間フィールドの従来のクエリ方法と UNIX タイムスタンプクエリのスキルを含む、主に MySqlクエリ期間のメソッドを紹介します。それを必要とする友人は、この記事を参照することができます

。この例では、MySql で期間をクエリする方法を説明します。皆さんの参考に共有してください。具体的な方法は次のとおりです:

MySql で期間をクエリする方法を誰もが知っているわけではないかもしれません。参考までに、MySql で期間をクエリする 2 つの方法を示します。

MySql の時間フィールドには、日付、時刻、日付時刻、タイムスタンプなどが含まれます。データを保存するときは、datetime 型を使用して時刻全体を 1 つのフィールドに保存することもあります。つまり、日付と時刻を分離することもあります。 1 つのフィールドに日付が格納されます。実際のアプリケーションでは、保存方法に関係なく、「期間」タイプを含むクエリが存在する可能性があります。たとえば、アクセス レコード データベースでは 1 日あたりの訪問数をカウントする必要があり、毎日が期間になります。以下では、MySql で期間をクエリするための 2 つの一般的な方法を紹介します。他のデータベースも同様に実装できます。

方法 1: 従来の方法、つまり、開始時刻と終了時刻を指定し、「between」または「<」、「>」を使用して条件を確立します (2010 年 3 月 1 日から 3 月 2 日までのクエリなど)。 , 2010 1 日あたりのデータ項目数については、

を使用できます。 コードは次のとおりです:

select count(*) from sometable where datetimecolumn>=&#39;2010-03-01 00:00:00&#39; and datetimecolumn<&#39;2010-03-02 00:00:00&#39;
ログイン後にコピー

ただし、時間が integer 型のデータではないため、この方法は比較の効率が低くなります。データが大きい場合は、時間を整数の UNIX タイムスタンプに変換できます。これは方法 2 です。

方法 2: UNIX タイムスタンプ。各時刻は、一意の UNIX タイムスタンプに対応し、「1970-01-01 00:00:00」からカウントを開始し、1 秒ごとに 1 ずつ増加します。 MySql には、従来の時刻と UNIX 時刻を交換するための組み込み関数 があります。これは、

UNIX_TIMESTAMP(datetime)

FROM_UNIXTIME(unixtime)

たとえば、

を実行すると、コードは次のようになります:

SELECT UNIX_TIMESTAMP(&#39;2010-03-01 00:00:00&#39;)
ログイン後にコピー

Return 1267372800

Run

コードは次のとおりです:

SELECT FROM_UNIXTIME(1267372800)
ログイン後にコピー

Returns '2010-03-01 00:00:00'

したがって、時間フィールドのデータを整数の UNIX 時間に置き換えることができます。比較時間が整数比較となり

インデックスを作成することで効率が大幅に向上します。クエリを実行するときは、比較する前に開始時刻と終了時刻をそれぞれ UNIX 時間に変換する必要があります。例:

コードは次のとおりです:

select count(*) from sometable where datetimecolumn>=UNIX_TIMESTAMP(&#39;2010-03-01 00:00:00&#39;) and datetimecolumn<UNIX_TIMESTAMP(&#39;2010-03-02 00:00:00&#39;)
ログイン後にコピー
呼び出し側プログラムで UNIX 時間に変換して渡すこともできます。つまり、このメソッドは期間をすばやくクエリするのに役立ちますが、表示時間を再度逆にする必要があります。

以上がMySqlクエリ期間メソッドのサンプルコードの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!