如何將自定義日期插入 MySQL 時間戳欄位?


UNIX_TIMESTAMP() 函式的問題在於它返回一個整數,而我們想要插入自定義日期,即非整數部分到 MySQL 日期。

不要將 UNIX_TIMESTAMP() 用於定義為 TIMESTAMP 的列,因為 UNIX_TIMESTAMP() 會返回一個整數。

檢查 UNIX_TIMESTAMP。查詢如下 −

mysql> select UNIX_TIMESTAMP( '2019-01-09 15 −48 −23') AS IntegerValue;

以下是輸出 −

+--------------+
| IntegerValue |
+--------------+
| 1547029103   |
+--------------+
1 row in set (0.00 sec)

檢視示例輸出,UNIX_TIMESTAMP() 函式返回相應日期和時間的整數。

以下是插入 TIMESTAMP 列自定義日期的語法。

INSERT INTO yourTableName(yourColumnName) values('yourCustomDateTime');

為了理解上述語法,讓我們建立一個表。建立表的查詢如下 −

mysql> create table TimestampDemo
   -> (
   -> Id int NOT NULL AUTO_INCREMENT,
   -> yourTimestamp TIMESTAMP,
   -> PRIMARY KEY(Id)
   -> );
Query OK, 0 rows affected (2.14 sec)

若要向 MySQL 時間戳欄位插入自定義日期,查詢如下 −

mysql> insert into TimestampDemo(yourTimestamp) values('2019-01-09 15 −48 −23');
Query OK, 1 row affected (0.37 sec)

mysql> insert into TimestampDemo(yourTimestamp) values('2018-03-14 16 −4 −23');
Query OK, 1 row affected (0.37 sec)

mysql> insert into TimestampDemo(yourTimestamp) values('2017-12-10 10 −8 −20');
Query OK, 1 row affected (0.16 sec)

mysql> insert into TimestampDemo(yourTimestamp) values('2016-4-05 13 −45 −21');
Query OK, 1 row affected (0.30 sec)

現在,可以使用 select 語句顯示錶中的所有記錄。查詢如下 −

mysql> select *from TimestampDemo;

以下是輸出 −

+----+-----------------------+
| Id | yourTimestamp         |
+----+-----------------------+
| 1  | 2019-01-09 15 −48 −23 |
| 2  | 2018-03-14 16 −04 −23 |
| 3  | 2017-12-10 10 −08 −20 |
| 4  | 2016-04-05 13 −45 −21 |
+----+-----------------------+
4 rows in set (0.00 sec)

更新時間:30-06-2020

2K+ 瀏覽

開啟你的職業生涯

完成課程認證

開始吧
廣告