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

MySQLビューを使用して、日付の範囲から日を生成するにはどうすればよいですか?


これを説明するために、次のビューを作成しています-

mysql> CREATE VIEW digits AS
    -> SELECT 0 AS digit UNION ALL
    -> SELECT 1 UNION ALL
    -> SELECT 2 UNION ALL
    -> SELECT 3 UNION ALL
    -> SELECT 4 UNION ALL
    -> SELECT 5 UNION ALL
    -> SELECT 6 UNION ALL
    -> SELECT 7 UNION ALL
    -> SELECT 8 UNION ALL
    -> SELECT 9;
Query OK, 0 rows affected (0.08 sec)

mysql> CREATE VIEW numbers AS SELECT ones.digit + tens.digit * 10 + hundreds.digit * 100 + thousands.digit * 1000 AS number FROM digits as ones, digits as tens, digits as hundreds, digits as thousands;
Query OK, 0 rows affected (0.09 sec)

mysql> CREATE VIEW dates1 AS SELECT SUBDATE(CURRENT_DATE(), number) AS date FROM numbers UNION ALL SELECT ADDDATE(CURRENT_DATE(), number + 1) AS date FROM numbers;
Query OK, 0 rows affected (0.09 sec)

mysql> Select date from dates1 where date between '2017-11-15' and '2017-11-30'order by date;
+------------+
| date       |
+------------+
| 2017-11-15 |
| 2017-11-16 |
| 2017-11-17 |
| 2017-11-18 |
| 2017-11-19 |
| 2017-11-20 |
| 2017-11-21 |
| 2017-11-22 |
| 2017-11-23 |
| 2017-11-24 |
| 2017-11-25 |
| 2017-11-26 |
| 2017-11-27 |
| 2017-11-28 |
| 2017-11-29 |
| 2017-11-30 |
+------------+
16 rows in set (0.05 sec)

  1. MySQLの日付から月と年を選択するにはどうすればよいですか?

    MySQLで月と年を選択するには、MONTH()およびYEAR()メソッドを使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable    -> (    -> DueDate datetime    -> ); Query OK, 0 rows affected (0.90 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values('2019-01-21&

  2. MySQLテーブルから特定のIDを持つ行を除くすべてのレコードを選択するにはどうすればよいですか?

    テーブルから特定のIDが表示されないようにするには、NOTEQUAL演算子である<>演算子を使用する必要があります。まずテーブルを作成しましょう- mysql> create table DemoTable7 (    StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,    StudentName varchar(40) ); Query OK, 0 rows affected (0.53 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> inse