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

MySQLクエリで日付YYYYMMDDをYY-MM-DDに変換するにはどうすればよいですか?


MySQLで日付YYYYMMDDをYY-MM-DDに変換するには、次の構文を使用します-

select date_format(str_to_date(yourColumnName, '%Y%m%d'),'%Y-%m-%d') from yourTableName;

まずテーブルを作成しましょう-

mysql> create table DemoTable
(
   ClientId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   ClientProjectDeadline varchar(200)
);
Query OK, 0 rows affected (0.57 sec)

挿入コマンドを使用して、テーブルにいくつかのレコードを挿入します。 YYYYMMDD形式で日付を挿入しました-

mysql> insert into DemoTable(ClientProjectDeadline) values('20121221');
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable(ClientProjectDeadline) values('20190416');
Query OK, 1 row affected (0.53 sec)
mysql> insert into DemoTable(ClientProjectDeadline) values('20160624');
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable(ClientProjectDeadline) values('20170131');
Query OK, 1 row affected (0.20 sec)

以下は、selectステートメント-

を使用してテーブルのすべてのレコードを表示するためのクエリです。
mysql> select *from DemoTable;

これにより、次の出力が生成されます-

+----------+-----------------------+
| ClientId | ClientProjectDeadline |
+----------+-----------------------+
| 1        | 20121221              |
| 2        | 20190416              |
| 3        | 20160624              |
| 4        | 20170131              |
+----------+-----------------------+
4 rows in set (0.00 sec)

以下は、MySQLで日付YYYYMMDDをYY-MM-DDに変換するためのクエリです-

mysql> select date_format(str_to_date(ClientProjectDeadline, '%Y%m%d'),'%Y-%m-%d') from DemoTable;

これにより、次の出力が生成されます-

+----------------------------------------------------------------------+
| date_format(str_to_date(ClientProjectDeadline, '%Y%m%d'),'%Y-%m-%d') |
+----------------------------------------------------------------------+
| 2012-12-21                                                           |
| 2019-04-16                                                           |
| 2016-06-24                                                           |
| 2017-01-31                                                           |
+----------------------------------------------------------------------+
4 rows in set (0.05 sec)

  1. INT型のyyyymmddを現在までに変換するにはどうすればよいですか?

    このために、DATE()関数を使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable (    Number int ); Query OK, 0 rows affected (0.48 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values(20190108); Query OK, 1 row affected (0.11 sec) mysql> insert into DemoTable values(201

  2. MySQLで日付形式を変換する方法は?

    日付形式を変換するには、STR_TO_DATE()-を使用します mysql> create table DemoTable2010 (    DueDate varchar(20) ); Query OK, 0 rows affected (0.68 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable2010 values('12/10/2019 12:34:00'); Query OK, 1 row affected (0.13 sec) mysql>