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

MySQLで日、月、年のフィールドから日付を作成しますか?


MySQLの組み込み関数STR_TO_DATE()を使用できます。構文は次のとおりです-

SELECT
STR_TO_DATE(CONCAT(yourYearColumName,'-',LPAD(yourMonthColumName,2,'00'),'-',LPAD(yourDayColumName,2,'00')), '%Y-%m-%d') as anyVariableName from yourTableName;

上記の構文を理解するために、テーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです-

mysql> create table DateCreateDemo
   −> (
   −> `Day` varchar(2),
   −> `Month` varchar(2),
   −> `Year` varchar(4)
   −> );
Query OK, 0 rows affected (1.68 sec)

挿入コマンドを使用して、すべてのフィールドの値を挿入します。クエリは次のとおりです-

mysql> insert into DateCreateDemo values('15','12','2018');
Query OK, 1 row affected (0.09 sec)

mysql> insert into DateCreateDemo values('10','11','2016');
Query OK, 1 row affected (0.37 sec)

mysql> insert into DateCreateDemo values('12','6','2017');
Query OK, 1 row affected (0.12 sec)

mysql> insert into DateCreateDemo values('9','8','2019');
Query OK, 1 row affected (0.17 sec)

mysql> insert into DateCreateDemo values('10','5','2020');
Query OK, 1 row affected (0.09 sec)

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

mysql> select *from DateCreateDemo;

以下は出力です-

+------+-------+------+
| Day  | Month | Year |
+------+-------+------+
| 15   | 12    | 2018 |
| 10   | 11    | 2016 |
| 12   | 6     | 2017 |
| 9    | 8     | 2019 |
| 10   | 5     | 2020 |
+------+-------+------+
5 rows in set (0.00 sec)

上記の「日」、「月」、「年」の3つのフィールドを使用して日付を作成します。クエリは次のとおりです-

mysql> select
   −> STR_TO_DATE(CONCAT(Year,'-',LPAD(Month,2,'00'),'-',LPAD(day,2,'00')), '%Y-%m-%d') as DateDemo from DateCreateDemo;

以下は出力です-

+------------+
| DateDemo   |
+------------+
| 2018-12-15 |
| 2016-11-10 |
| 2017-06-12 |
| 2019-08-09 |
| 2020-05-10 |
+------------+
5 rows in set (0.06 sec)

  1. PHP MySQLのタイムスタンプから日/月/年を抽出しますか?

    タイムスタンプから日/月/年を抽出するには、date_parse()関数を使用する必要があります。構文は次のとおりです- print_r(date_parse(“anyTimeStampValue”)); PHPコードは次のとおりです- $yourTimeStampValue="2019-02-04 12:56:50"; print_r(date_parse($yourTimeStampValue)); PHPコードのスナップショットは次のとおりです- 以下は出力です- Array ( [year] => 2019 [month]

  2. 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