将日期和时间列合并到MySQL中的时间戳中?

要将日期和时间列合并为时间戳,可以将cast()函数与一起使用concat()

语法如下-

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

在上述概念中,将使用cast()日期和时间为字符串格式的情况。该cast()方法只能用于日期时间。为了理解上述语法,让我们创建一个表。

创建表的查询如下-

mysql> create table DateAndTimeToTimestamp
   −> (
   −> Duedate date,
   −> DueTime time
   −> );

使用insert命令在表中插入记录。查询如下-

mysql> insert into DateAndTimeToTimestamp values(date_add(curdate(),interval 2 day),'10:30:02');

mysql> insert into DateAndTimeToTimestamp values(date_add(curdate(),interval -2 day),'12:20:45');

mysql> insert into DateAndTimeToTimestamp values(date_add(curdate(),interval 1 day),'01:32:42');

mysql> insert into DateAndTimeToTimestamp values(date_add(curdate(),interval -1 day),'14:25:58');

使用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)