Вставка и поиск в поле Datetime - PullRequest
0 голосов
/ 05 ноября 2018

Я пытаюсь вставить дату с миллисекундами, но не могу сделать это после вставки следующего формата с помощью 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 голосов
/ 05 ноября 2018

Вам необходимо использовать функцию Str_to_Date(), чтобы преобразовать вашу пользовательскую строку даты и времени в формат даты и времени MariaDB / MySQL ( гггг-мм-дд чч: мм: сс.ххххх )

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.
  • %i Минута с двумя цифрами.
  • %s Секунды с двумя цифрами.
  • %f Подсекунды (миросекунды) 6 цифр.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...