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

MySQLでTIMEとDATETIMEの値を数値形式に変換するにはどうすればよいですか?


TIME(N)およびDATETIME(N)値の数値形式への変換は、それらに0(+0)を追加することで実行できます。以下は、そのような種類の変換のルールです-

INTEGERに変換

Nが0の場合、TIME(N)とDATETIME(N)の値は整数に変換されます。

たとえば、CURTIME()とNOW()の値は、次のように整数値に変換できます-

mysql> SELECT CURTIME(), CURTIME()+0;
+-----------+-------------------+
| CURTIME() | CURTIME()+0       |
+-----------+-------------------+
| 19:42:54  | 194254            |
+-----------+-------------------+
1 row in set (0.04 sec)

mysql> SELECT NOW(), NOW()+0;
+-------------------------+----------------------------------+
| NOW()                   | NOW()+0                          |
+-------------------------+----------------------------------+
| 2017-10-27 19:43:43     | 20171027194343                   |
+-------------------------+----------------------------------+
1 row in set (0.00 sec)
DECIMALに変換

Nが0より大きい場合、TIME(N)およびDATETIME(N)の値は整数に変換されます。
たとえば、CURTIME()とNOW()の値は、次のように10進値に変換できます-

mysql> SELECT CURTIME(), CURTIME(3)+0;
+-----------+-------------------+
| CURTIME() | CURTIME()+0       |
+-----------+-------------------+
| 19:47:40  | 194740.575        |
+-----------+-------------------+
1 row in set (0.04 sec)

mysql> SELECT NOW(), NOW(3)+0;
+-------------------------+----------------------------------+
| NOW()                   | NOW()+0                          |
+-------------------------+----------------------------------+
| 2017-10-27 19:48:45     | 20171027194845.589               |
+-------------------------+----------------------------------+
1 row in set (0.00 sec)

  1. MySQLでcharフィールドをdatetimeフィールドに変換する方法は?

    まず、テーブルを作成しましょう。ここでは、char型で日付を宣言しています- mysql> create table DemoTable1472    -> (    -> ShippingDate char(35)    -> ); Query OK, 0 rows affected (0.46 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1472 values('12/31/2017 10:50'

  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