Преобразовать метку времени в строку в MYSQL - PullRequest
0 голосов
/ 03 мая 2020

Я пытаюсь создать событие для планировщика, который будет выполнять два действия каждые две минуты:

  1. Загрузить данные из таблицы City в отдельный файл с текущей датой
  2. Создать отметку в таблице о созданном файле

В данный момент пытаюсь использовать следующий запрос

CREATE EVENT city_event ON SCHEDULE EVERY 2 MINUTE
STARTS CURRENT_TIMESTAMP 
ENDS CURRENT_TIMESTAMP + INTERVAL 1 HOUR 
DO 
BEGIN 
SELECT * FROM world_innodb.City INTO OUTFILE CONCAT (“C: \\ mysql \\ City_”, CURRENT_TIMESTAMP); 
INSERT INTO test_event (event time) SELECT CURRENT_TIMESTAMP 
END;

При преобразовании типов при использовании CURRENT_TIMESTAMP в CONCAT возникла проблема функция. Как я могу преобразовать CURRENT_TIMESTAMP в строку, или, может быть, есть другой способ записать файл с текущей датой в имени?

1 Ответ

0 голосов
/ 03 мая 2020

для CURRENT_TIMESTAMP может быть, вам просто нужно правильно заменить некоторые символы

select CURRENT_TIMESTAMP;

SELECT replace(replace(replace(replace(CURRENT_TIMESTAMP,'/',''),'-',''),' ','_'),':','');

или, как предлагает @Shadow, более простой способ - date_format ()

select date_format(CURRENT_TIMESTAMP,'%Y%m%d_%H%i%s')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...