境界範囲間のmysql間の範囲は両側の境界値を含む
範囲は境界値を含まない
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 を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: CSSはメッセージパネルをスライドするWebコンポーネント機能を実装します
>>: Vue を使用して Web ページのスクリーンショットを撮る方法をご存知ですか?
<br />かつて、仏印と東坡氏が仏教について雑談していたとき、東坡氏が突然こう言った。...
基本概念現在の読み取りとスナップショットの読み取りMVCC では、読み取り操作はスナップショット読み...
最近、私はプロジェクトに取り組んでおり、背景を記述するために SQL ステートメントを使用する必要が...
Linux や Unix の cut コマンドは、ファイルの各行から一部を切り取って標準出力に出力す...
場合によっては、リモート マシンでいくつかのコマンドを実行する必要があることがあります。これが時々行...
<br />ヘッダーはテーブルの最初の行を参照します。ヘッダー内のテキストは中央揃えで太...
この記事では、水平棒グラフを実現するためのvue echartsの具体的なコードを参考までに共有しま...
1. はじめに少し前、開発者がテスト環境や本番環境で誤った操作をし、データベースを誤って削除/更新し...
Dockerfile でのボリュームのマウントと docker -v コマンドによるマウントには明ら...
awk を学ぶ前に、sed、grep、tr、cut などのコマンドを学んでおく必要があります。これら...
Linux では、基本的に vi エディタのように「.sh」拡張子を持つテキストの処理と実行を記述す...
Docker は非常に人気のあるコンテナ技術です。K8S によって廃止され、別のコンテナ技術である ...
イメージは hub.docker.com に保存できますが、ネットワーク速度が比較的遅いです。内部環...
ハイパーフ公式サイトHyperf 公式ドキュメントのインストール1. Dockerの使用docker...
ブラウザはTIF形式の画像を表示しますコードをコピーコードは次のとおりです。 <html>...