MySQL における between の境界と範囲の説明

MySQL における between の境界と範囲の説明

境界範囲間のmysql

間の範囲は両側の境界値を含む

例: 3 から 7 までの id は、id >=3 かつ id<=7 と同等です。

範囲は境界値を含まない

例: id が 3 から 7 の間ではない場合、id < 3 または id>7 と同等です。

SELECT * FROM `test` where id BETWEEN 3 and 7;
SELECT * FROM `test` where id>=3 and id<=7; と同等です。
-----------------------------------------------------------
SELECT * FROM `test` where id NOT BETWEEN 3 and 7;
SELECT * FROM `test` where id<3 or id>7; と同等です。

日付の境界間のmysqlの問題に注意してください

境界の問題:

mysql、開始日と終了日の間には開始日が含まれ、終了日は含まれません

例えば:

'2018-01-22' から '2018-01-30' の間

開始日は 2018-01-22 00:00:00.0 で、終了日は 2018-01-29 23:59:59.59 です。

テーブルのCREATE_DATEはvarchar(21) DEFAULT NULL COMMENT 'time'です。

CREATE_DATE に保存される値は、年-月-日 時間:分:秒:0 です。例: 2018-01-29 23:45:35.0

SELECT * FROM Test a WHERE a.CREATE_DATE BETWEEN '2018-01-22' AND '2018-01-30'   
ORDER BY a.CREATE_DATE desc 

テーブル a から * を選択し、 a.CREATE_DATE が '2018-01-22' かつ '2018-01-30' であることを確認します。   
ORDER BY a.CREATE_DATE desc
    2018-01-29 23:45:35.0 20180129
    2018-01-29 23:45:33.0 20180129
    2018-01-29 00:10:58.0 20180129
    2018-01-29 00:10:45.0 20180129
    2018-01-28 23:42:23.0 20180128
    2018-01-28 23:39:39.0 20180128
テーブル a から * を選択し、 a.CREATE_DATE が '2018-01-22' かつ '2018-01-29' であることを確認します。   
ORDER BY a.CREATE_DATE desc
    2018-01-28 23:42:23.0 20180128
    2018-01-28 23:39:39.0 20180128
    2018-01-28 00:13:22.0 20180128
    2018-01-28 00:13:19.0 20180128
    2018-01-27 23:23:02.0 20180127
    2018-01-22 00:09:59.0 20180122
    2018-01-22 00:09:56.0 20180122
    2018-01-22 00:01:53.0 20180122

発生したその他の問題:

別のテーブルtest2には時間を保存するためのフィールドがあります: `REPORTTIME` varchar(45) DEFAULT NULL、

このフィールドに格納される値は次のとおりです。

例1:

bips_hpd_helpdesk a から * を選択 WHERE str_to_date(from_unixtime(a.REPORTTIME,'%Y-%m-%d'),'%Y-%m-%d') 
BETWEEN '2018-01-16' AND '2018-01-27' ORDER BY from_unixtime(a.REPORTTIME,'%Y-%m-%d') DESC ;

結果1:

結果から、27日のデータが取得されたことがわかります。処理時間に時間、分、秒が含まれていない可能性があります。

例2:

bips_hpd_helpdesk a から * を選択 WHERE str_to_date(from_unixtime(a.REPORTTIME,'%Y-%m-%d'),'%Y-%m-%d') 
str_to_date('2018-01-16','%Y-%m-%d') と str_to_date('2018-01-27','%Y-%m-%d') の間

結果2:

問題が見つかりました: ミリ秒の値を時間に変換すると、ここで保存されたミリ秒の値は時間、分、秒を保存しないことがわかりました。

from_unixtime(a.REPORTTIME,'%Y-%m-%d') AS reportTime,a.REPORTTIME,  
             str_to_date(from_unixtime(a.REPORTTIME,'%Y-%m-%d'),'%Y-%m-%d %h:%i:%s') AS reportTime22
        FROM test a WHERE str_to_date(from_unixtime(a.REPORTTIME,'%Y-%m-%d'),'%Y-%m-%d %h:%i:%s') 
        str_to_date('2018-01-16','%Y-%m-%d %h:%i:%s') と str_to_date('2018-01-27 %h:%i:%s','%Y-%m-%d') の間
     #subdate(curdate(),date_format(curdate(),'%w')-1) および subdate(curdate(),date_format(curdate(),'%w')-8)
        ORDER BY from_unixtime(a.REPORTTIME,'%Y-%m-%d') DESC;

閲覧時間の値:

上記は私の個人的な経験です。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • MySQL における BETWEEN 句の使用法の詳細な説明
  • MySQL の WHERE 句で BETWEEN と IN を使用するチュートリアル
  • MySQLで日付を比較する方法の詳細な説明

<<:  CSSはメッセージパネルをスライドするWebコンポーネント機能を実装します

>>:  Vue を使用して Web ページのスクリーンショットを撮る方法をご存知ですか?

推薦する

vue data が関数である理由をご存知ですか?

公式サイトの説明: コンポーネントを定義する場合、コンポーネントは複数のインスタンスを作成するために...

Vue3 ページ、メニュー、ルートの使用

目次1. メニューをクリックしてジャンプ1. ページ名の統一2. 管理ページを追加3. ルートを追加...

知っておくべき 7 つのネイティブ JS エラーの種類

目次概要1. 範囲エラー2. 参照エラー3. 構文エラー4. タイプエラー5. URIエラー6. 評...

MySQL DISTINCTの基本実装原理の詳細な説明

序文DISTINCT は、GROUP BY 操作の実装と非常によく似ていますが、GROUP BY の...

MySQL InnoDB トランザクション ロック ソースコード分析

目次1. ロックとラッチ2. 繰り返し読み取り3. インサートロックプロセス3.1 ロックモード3....

iframeを透明にするパラメータ

<iframe src="./ads_top_tian.html" all...

divとtableの選択と組み合わせ方について簡単に説明します

ページレイアウトは、Web ページを扱い始めた頃からずっと気にかけていたことです。初期のテーブル構造...

今日と昨日の 0:00 タイムスタンプを取得する MySQL の例

以下のように表示されます。昨日: UNIX_TIMESTAMP(CAST(SYSDATE() AS ...

Windows Server 2008 R2 で忘れたパスワードを処理する方法

Windows Server 2008R2を忘れた場合の対処方法サーバーの数が多すぎる、サーバーが多...

純粋な CSS3 を使用して、円の動的な光る特殊効果アニメーションを実装するためのサンプル コード

この記事では、主に、円形のダイナミックな光る特殊効果アニメーションを実現するための純粋な CSS3 ...

エラー 2002 (HY000): ソケット '/tmp/mysql.sock' 経由でローカル MySQL サーバーに接続できません

エラーメッセージ:エラー 2002 (HY000): ソケット '/tmp/mysql.so...

Webデザインチュートリアル(7):Webデザインの効率化

<br />前の記事:Webデザインチュートリアル(6):デザインへの情熱を持ち続けまし...

ウェブページのカラーマッチングにおけるオーバーラップとソフトカラーマッチングの手法を詳しく説明

この記事には、細かい点は一切なく、カラーマッチングのテクニックをシェアするだけです。とてもシンプルで...

Nginx 正規表現関連のパラメータとルールの紹介

序文最近、私はクライアントのサーバー構成を支援しており、Nginx 構成ファイルを頻繁に変更していま...

HTMLは角丸四角形を簡単に実装します

質問: div+css と配置を使用して角丸四角形を実現するにはどうすればよいですか?ソリューション...