MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQL Selectは、今日ログインしたユーザーを取得しますか?


ユーザーを今日ログインさせるには、以下の構文を使用します。ここでは、日時フィールドが文字列型であると想定しています-

select yourColumnName1,yourColumnName2,yourColumnName3,...N
from youTableName
WHERE STR_TO_DATE(yourColumnName1, ‘format’') =CURDATE();

次の「DateEqualToday」テーブルがあり、ユーザーの姓名とログイン日が格納されているとします-

+------+------------+-----------+------------+
| Id   | First_Name | Last_Name | LoginDate  |
+------+------------+-----------+------------+
|    1 | James      | Smith     | 20-12-2018 |
|    2 | Carol      | Taylor    | 21-12-2017 |
|    3 | John       | Smith     | 21-12-2018 |
|    4 | Maria      | Garcia    | 22-12-2018 |
|    5 | Mike       | Davis     | 21-12-2018 |
|    6 | Bob        | Wilson    | 21-12-2018 |
+------+------------+-----------+------------+
6 rows in set (0.00 sec)

これは、今日ログインしたユーザーをフィルタリングするためのクエリです。このクエリでは、curdate()は現在の日付のみを提供するため、日付をcurdate()関数と比較します-

mysql> select Id,First_Name,LoginDate
   -> from DateEqualToday WHERE STR_TO_DATE(LoginDate, '%d-%m-%Y')
=CURDATE();

出力

+------+------------+------------+
| Id   | First_Name | LoginDate  |
+------+------------+------------+
|    3 | John       | 21-12-2018 |
|    5 | Mike       | 21-12-2018 |
|    6 | Bob        | 21-12-2018 |
+------+------------+------------+
3 rows in set (0.00 sec)

  1. MySQLのSELECTクエリから特定の列レコードを取得するにはどうすればよいですか?

    まずテーブルを作成しましょう- mysql> create table DemoTable1837      (      StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,      StudentName varchar(20)      ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> inser

  2. MySQL-今日から1週間先の日付を選択しますか?

    今日から1週間先の日付を取得するには、DATEDIFFを使用します。まず、現在の日付を取得しましょう- mysql> select curdate(); +------------+ | curdate()  | +------------+ | 2019-12-20 | +------------+ 1 row in set (0.00 sec) 最初にテーブルを作成します- mysql> create table DemoTable1990    (    ShippingDate date    ); Q