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

MySQLでvarcharタイプで設定された日付順


これには、次の構文のようにMySQLでORDERBYSTR_TO_DATEを使用します-

select *from yourTableName ORDER BY STR_TO_DATE(yourColumnName, '%M %Y') DESC;

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

mysql> create table DemoTable678(DueDate varchar(200));
Query OK, 0 rows affected (0.62 sec)

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

mysql> insert into DemoTable678 values('March 2019');
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable678 values('November 2018');
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable678 values('January 2019');
Query OK, 1 row affected (0.18 sec)

selectステートメントを使用してテーブルのすべてのレコードを表示する-

mysql> select *from DemoTable678;

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

+---------------+
| DueDate       |
+---------------+
| March 2019    |
| November 2018 |
| January 2019  |
+---------------+
3 rows in set (0.00 sec)

以下は、varcharタイプ-

で設定された日付順に並べ替えるクエリです。
mysql> select *from DemoTable678 ORDER BY STR_TO_DATE(DueDate, '%M %Y') DESC;

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

+---------------+
| DueDate       |
+---------------+
| March 2019    |
| January 2019  |
| November 2018 |
+---------------+
3 rows in set (0.00 sec)

  1. タイプがDATETIMEのMySQL列セットに時間を追加するにはどうすればよいですか?

    日時に時刻を追加するには、MySQLのADDTIME()関数を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1848      (      ShippingDate datetime      ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1848 values('201

  2. MySQLフィールドに現在の日付を設定します(UNIX_TIMESTAMP(now))

    これには、unix_timestamp()を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1894    (    Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,    DueTime int    ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable189