我试图插入一个毫秒的日期,但是在使用bash插入以下格式后我无法做到:
"%d%m%Y%H%M%S%2N"
在BBDD中,我看到以下内容:
MariaDB [db]> INSERT INTO access_wifi(DATA) VALUES ('0511201813450367');
Query OK, 1 row affected, 1 warning (0.01 sec)
MariaDB [db]> select * from access_wifi;
+----+------------------------+
| id | DATA |
+----+------------------------+
| 1 | 0000-00-00 00:00:00.00 |
| 2 | 0000-00-00 00:00:00.00 |
| 3 | 0000-00-00 00:00:00.00 |
+----+------------------------+
3 rows in set (0.00 sec)
什么命令应该正确插入/搜索?
使用此信息进行更新:
MariaDB [db]> DESCRIBE access_wifi;
+-------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| DATA | datetime(2) | YES | | NULL | |
+-------+-------------+------+-----+---------+----------------+
2 rows in set (0.10 sec)
您需要使用Str_to_Date()
函数,以便将自定义日期时间字符串转换为MariaDB / MySQL日期时间格式(yyyy-mm-dd hh:mm:ss.xxxxx)
INSERT INTO access_wifi(DATA)
VALUES (STR_TO_DATE('0511201813450367', '%d%m%Y%H%i%s%f'));
细节:
%d
日2位数。%m
月份有2位数。%Y
年份有4位数字。%H
00-23之间有2位数的小时。%i
分钟,2位数。%s
秒数2位数。%f
子秒(微秒)6位数。