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

MySQL Select Date Equal to Todayそして同じ日付の結果を返しますか?


今日の日付を取得するには、組み込み関数CURDATE()を使用します。 CURDATE()は、時刻ではなく現在の日付のみを提供します。それで、同じ日のレコードを取得するには、次の構文を試すことができます-

select yourColumnName1,yourColumnName2,......,yourColumnNameN,DATE_FORMAT(yourDateColumnName, '%Y-%m-%d') from yourTableName
WHERE DATE(yourDateColumnName) = CURDATE();

上記の概念を理解するために、テーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです。これらの列の1つには、日付を表示する日時データ型があります-

mysql> create table GmailSignIn
   −> (
   −> UserId int,
   −> UserName varchar(200),
   −> DateOfSignIn datetime
   −> );
Query OK, 0 rows affected (1.56 sec)

これで、挿入コマンドを使用して、いくつかのレコードをテーブルに挿入できます。現在の日付も2018-12-06に設定しました。

クエリは次のとおりです-

mysql> insert into GmailSignIn values(222111,'John',now());
Query OK, 1 row affected (0.15 sec)

mysql> insert into GmailSignIn values(333222,'Johnson',curdate());
Query OK, 1 row affected (0.18 sec)

mysql> insert into GmailSignIn values(444333,'Carol',date_add(curdate(),interval 1 day));
Query OK, 1 row affected (0.13 sec)

mysql> insert into GmailSignIn values(555444,'David',date_add(curdate(),interval -1 day));
Query OK, 1 row affected (0.83 sec)

selectステートメントを使用して、テーブルのすべてのレコードを表示します。クエリは次のとおりです-

mysql> select *from GmailSignIn;

以下は出力です-

+--------+----------+---------------------+
| UserId | UserName | DateOfSignIn        |
+--------+----------+---------------------+
| 222111 | John     | 2018-12-06 19:13:30 |
| 333222 | Johnson  | 2018-12-06 00:00:00 |
| 444333 | Carol    | 2018-12-07 00:00:00 |
| 555444 | David    | 2018-12-05 00:00:00 |
+--------+----------+---------------------+
4 rows in set (0.00 sec)

これは、今日と等しい日付を選択し、同じ日付のレコードを表示するためのクエリです-

mysql> select UserId,UserName,DateOfSignIn,DATE_FORMAT(DateOfSignIn, '%Y-%m-%d') from GmailSignIn
   −> where date(DateOfSignIn) = curdate();

以下は出力です-

+--------+----------+---------------------+---------------------------------------+
| UserId | UserName | DateOfSignIn        | DATE_FORMAT(DateOfSignIn, '%Y-%m-%d') |
+--------+----------+---------------------+---------------------------------------+
| 222111 | John     | 2018-12-06 19:13:30 | 2018-12-06                            |
| 333222 | Johnson  | 2018-12-06 00:00:00 | 2018-12-06                            |
+--------+----------+---------------------+---------------------------------------+
2 rows in set (0.00 sec)
>
  1. MySQLで対応する日付の曜日名を取得しますか?

    日名を取得するには、MySQLのDAYNAME()関数を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1954    (    ShippingDate date    ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1954 values('2019-12-15'); Query OK, 1 r

  2. DATEタイムスタンプを変換して月番号を返す

    月番号のみを返すには、DATE_FORMAT()-を使用できます。 mysql> create table DemoTable1999    (    ArrivalDate timestamp    ); Query OK, 0 rows affected (0.66 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1999 values('2019-01-01 12:34:00'); Query OK, 1 row