在 MySQL 中將日期和時間列合併成一個時間戳?


要將日期和時間列合併成時間戳,可以使用 concat() 函式的 cast() 函式。

語法如下 -

select cast(concat(yourDateColumnName, ' ', yourTimeColumnName) as datetime) as anyVariableName from yourTableName;

在上述概念中,當日期和時間為字串格式時,將使用 cast()。cast() 函式僅可用於 datetime。要理解上述語法,讓我們建立一個表。

建立表的查詢如下 -

mysql> create table DateAndTimeToTimestamp
   −> (
   −> Duedate date,
   −> DueTime time
   −> );
Query OK, 0 rows affected (0.51 sec)

使用 insert 命令向表中插入記錄。查詢如下 -

mysql> insert into DateAndTimeToTimestamp values(date_add(curdate(),interval 2 day),'10:30:02');
Query OK, 1 row affected (0.34 sec)

mysql> insert into DateAndTimeToTimestamp values(date_add(curdate(),interval -2 day),'12:20:45');
Query OK, 1 row affected (0.17 sec)

mysql> insert into DateAndTimeToTimestamp values(date_add(curdate(),interval 1 day),'01:32:42');
Query OK, 1 row affected (0.21 sec)

mysql> insert into DateAndTimeToTimestamp values(date_add(curdate(),interval -1 day),'14:25:58');
Query OK, 1 row affected (0.30 sec)

使用 select 語句顯示錶中的所有記錄。查詢如下 -

mysql> select *from DateAndTimeToTimestamp;

以下是輸出 -

+------------+----------+
| Duedate    | DueTime  |
+------------+----------+
| 2018-12-16 | 10:30:02 |
| 2018-12-12 | 12:20:45 |
| 2018-12-15 | 01:32:42 |
| 2018-12-13 | 14:25:58 |
+------------+----------+
4 rows in set (0.00 sec)

以下是將日期和時間列合併成時間戳的查詢 -

mysql> select concat(Duedate, ' ', DueTime) as timestampDemo from DateAndTimeToTimestamp;

以下是輸出 -

+---------------------+
| timestampDemo       |
+---------------------+
| 2018-12-16 10:30:02 |
| 2018-12-12 12:20:45 |
| 2018-12-15 01:32:42 |
| 2018-12-13 14:25:58 |
+---------------------+
4 rows in set (0.00 sec)

更新於: 2019 年 7 月 30 日

12K+ 瀏覽次數

開啟您的 職業生涯

完成課程獲取認證

開始
廣告