在 MySQL 中将日期和时间列合并为时间戳?
mysqlmysqli database更新于 2024/1/28 15:07:00
要将日期和时间列合并为时间戳,可以使用 cast() 函数和 concat()。
语法如下 −
select cast(concat(yourDateColumnName, ' ', yourTimeColumnName) as datetime) as anyVariableName from yourTableName;
在上述概念中,当日期和时间采用字符串格式时,您将使用 cast()。cast() 函数只能用于日期时间。为了理解上述语法,让我们创建一个表。
创建表的查询如下。 −
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)