在 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+ 浏览次数

开启您的 职业生涯

完成课程获取认证

开始
广告
© . All rights reserved.