在日期时间字段中插入和搜索

时间:2018-11-05 16:35:40

标签: mariadb

我正在尝试以毫秒为单位插入日期,但是用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)

1 个答案:

答案 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位数字。