将日期和时间列合并到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)