如何将自定义日期插入 MySQL 时间戳字段?


UNIX_TIMESTAMP() 函数的问题在于它返回一个整数,而我们想要插入自定义日期,即非整数部分到 MySQL 日期。

不要将 UNIX_TIMESTAMP() 用于定义为 TIMESTAMP 的列,因为 UNIX_TIMESTAMP() 会返回一个整数。

检查 UNIX_TIMESTAMP。查询如下 −

mysql> select UNIX_TIMESTAMP( '2019-01-09 15 −48 −23') AS IntegerValue;

以下是输出 −

+--------------+
| IntegerValue |
+--------------+
| 1547029103   |
+--------------+
1 row in set (0.00 sec)

查看示例输出,UNIX_TIMESTAMP() 函数返回相应日期和时间的整数。

以下是插入 TIMESTAMP 列自定义日期的语法。

INSERT INTO yourTableName(yourColumnName) values('yourCustomDateTime');

为了理解上述语法,让我们创建一个表。创建表的查询如下 −

mysql> create table TimestampDemo
   -> (
   -> Id int NOT NULL AUTO_INCREMENT,
   -> yourTimestamp TIMESTAMP,
   -> PRIMARY KEY(Id)
   -> );
Query OK, 0 rows affected (2.14 sec)

若要向 MySQL 时间戳字段插入自定义日期,查询如下 −

mysql> insert into TimestampDemo(yourTimestamp) values('2019-01-09 15 −48 −23');
Query OK, 1 row affected (0.37 sec)

mysql> insert into TimestampDemo(yourTimestamp) values('2018-03-14 16 −4 −23');
Query OK, 1 row affected (0.37 sec)

mysql> insert into TimestampDemo(yourTimestamp) values('2017-12-10 10 −8 −20');
Query OK, 1 row affected (0.16 sec)

mysql> insert into TimestampDemo(yourTimestamp) values('2016-4-05 13 −45 −21');
Query OK, 1 row affected (0.30 sec)

现在,可以使用 select 语句显示表中的所有记录。查询如下 −

mysql> select *from TimestampDemo;

以下是输出 −

+----+-----------------------+
| Id | yourTimestamp         |
+----+-----------------------+
| 1  | 2019-01-09 15 −48 −23 |
| 2  | 2018-03-14 16 −04 −23 |
| 3  | 2017-12-10 10 −08 −20 |
| 4  | 2016-04-05 13 −45 −21 |
+----+-----------------------+
4 rows in set (0.00 sec)

更新时间:30-06-2020

2K+ 浏览

开启你的职业生涯

完成课程认证

开始吧
广告