我正在尝试以毫秒为单位插入日期,但是用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)
答案 0 :(得分:2)
您需要使用Str_to_Date()
函数,以便将自定义日期时间字符串转换为MariaDB / MySQL日期时间格式( yyyy-mm-dd hh:mm:ss.xxxxx )< / p>
INSERT INTO access_wifi(DATA)
VALUES (STR_TO_DATE('0511201813450367', '%d%m%Y%H%i%s%f'));
详细信息:
%d
天,两位数。%m
月,两位数。%Y
年,四位数。%H
小时,介于00-23之间的2位数字。%i
分2位数字。%s
秒,含2位数。%f
子秒(毫秒)6位数字。