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

MySQLでAM/PMで時間を並べ替える方法は?


MySQLのAM/PMで時刻を並べ替えるには、ORDER BY STR_TO_DATE()を使用できます。

以下は構文です-

select yourColumnName from yourTableName ORDER BY STR_TO_DATE(yourColumnName , '%l:%i %p');

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

mysql> create table DemoTable
(
   Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   UserLogoutTime varchar(200)
);
Query OK, 0 rows affected (0.97 sec)

挿入コマンド-

を使用してテーブルにレコードを挿入します
mysql> insert into DemoTable(UserLogoutTime) values('09:45 PM');
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable(UserLogoutTime) values('11:56 AM');
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable(UserLogoutTime) values('01:01 AM');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable(UserLogoutTime) values('02:01 PM');
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable(UserLogoutTime) values('04:10 PM');
Query OK, 1 row affected (0.15 sec)

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

mysql> select *from DemoTable;

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

+----+----------------+
| Id | UserLogoutTime |
+----+----------------+
| 1  | 09:45 PM       |
| 2  | 11:56 AM       |
| 3  | 01:01 AM       |
| 4  | 02:01 PM       |
| 5  | 04:10 PM       |
+----+----------------+
5 rows in set (0.00 sec)

これは、MySQLのAM/PMで時間をソートするためのクエリです-

mysql> select UserLogoutTime from DemoTable ORDER BY STR_TO_DATE(UserLogoutTime, '%l:%i %p');

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

+----------------+
| UserLogoutTime |
+----------------+
| 01:01 AM       |
| 11:56 AM       |
| 02:01 PM       |
| 04:10 PM       |
| 09:45 PM       |
+----------------+
5 rows in set (0.00 sec)

  1. PHP / MySQLでTimeを使用していますか?

    PHP / MySQLで時間を処理するには、strtotime()関数を使用できます。同じ-のPHPコードは次のとおりです。 $timeValue='8:55 PM'; $changeTimeFormat = date('H:i:s', strtotime($timeValue)); echo("The change Format in 24 Hours="); echo($changeTimeFormat); PHPコードのスナップショットは次のとおりです- これが出力です。 これが元の時刻を取得するためのMySQLクエリ

  2. MySQLでvarcharの「時間」をリアルタイムに変換する方法は?

    このために、TIME_FORMAT()を使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable1591    -> (    -> ArrivalTime varchar(20)    -> ); Query OK, 0 rows affected (0.58 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1591 values('1620'); Qu