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

MYSQLでは、日、月、または月と日の両方がゼロである日付をどのように保存できますか?日はゼロですか?


日、月、または月と日の両方がゼロであるような種類の日付を格納するには、SQLのモードをallow_invalid_datesモードに設定する必要があります。

mysql> set sql_mode = 'allow_invalid_dates';
Query OK, 0 rows affected (0.00 sec)

mysql> insert into check_date(OrderDate) values('2017-00-00');
Query OK, 1 row affected (0.06 sec)

mysql> select * from check_date;
+-------------+
| OrderDate |
+-------------+
| 2017-00-00 |
+-------------+
1 row in set (0.00 sec)

上記のクエリは、月と日の両方の値がゼロになる日付を挿入します。

mysql> insert into check_date(Orderdate) values ('2017-00-05');
Query OK, 1 row affected (0.07 sec)

mysql> select * from check_date;
+------------+
| Orderdate  |
+------------+
| 2017-00-00 |
| 2017-00-05 |
+------------+
2 rows in set (0.00 sec)

上記のクエリは、月の値がゼロになる日付を挿入します。

mysql> insert into check_date(Orderdate) values ('2017-05-00');
Query OK, 1 row affected (0.02 sec)

mysql> select * from check_date;
+------------+
| Orderdate  |
+------------+
| 2017-00-00 |
| 2017-00-05 |
| 2017-05-00 |
+------------+
3 rows in set (0.00 sec)
上記のクエリは、日の値がゼロになる日付を挿入します。


  1. MySQLの日付レコードから月の最初の日と最後の日を表示するにはどうすればよいですか?

    最初にテーブルを作成しましょう- mysql> create table DemoTable    -> (    -> DueDate date    -> ); Query OK, 0 rows affected (0.73 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values('2019-01-11'); Query OK, 1 row affected (0.08 sec) mysql

  2. 現在の日付から1日以上経過しているMySQLの行を選択するにはどうすればよいですか?

    現在の日付から1日を超えるデータを取得するには、MySQLのINTERVALの概念を使用します。 現在の日付は次のとおりです- mysql> select curdate(); +------------+ | curdate()  | +------------+ | 2019-11-29 | +------------+ 1 row in set (0.00 sec) 最初にテーブルを作成します- mysql> create table DemoTable1806      (      DueDate