Как создать имя файла, используя MySQL или пакетный файл, где часть содержимого файла должна быть в имени? - PullRequest
0 голосов
/ 07 мая 2018

ОК, вот что я пытаюсь.

Используя командную строку MySQL, я запускаю скрипт и затем сохраняю данные следующим образом:

mysql -h DATABASE -u yyyy -pxxxx < E:/Step_2.sql > E:/OUTPUT_YYYY_QQ.csv

Теперь, используя MySQL или пакетную команду Windows, я хочу, чтобы YYYY и QQ были определенным значением. Это не текущая дата, хотя. В этом примере я хочу, чтобы YYYY был 2017 года, а QQ - Q4.

У меня есть возможность:

  1. Создать новую таблицу в SQL со значениями в ней, если это необходимо. Затем с помощью команды выполните команду, чтобы использовать эти значения как часть имени файла.

  2. Или я могу разместить файл на сервере где-нибудь для «ссылки», чтобы получить данные и поместить их в имя файла.

Есть мысли?

1 Ответ

0 голосов
/ 07 мая 2018

Здесь я создал сценарий оболочки с именем "test.sh", который будет динамически генерировать имя файла, но все, что вам нужно для преобразования этого сценария оболочки в пакет Windows. Это идея для вас согласно вашему комментарию.

test.sh

file_name=$(mysql -N -hlocalhost -uvivek -pvivek -e "select concat('OUTPUT_',year(date_column),'_Q',quarter(date_column),'.csv') file_name from table_name")
mysql -hlocalhost -uvivek -pvivek </home/vivekanand/vivek/stack/test.sql >/home/vivekanand/vivek/stack/$file_name

После запуска скрипта я получил файл, созданный как показано ниже, с правильным выводом файла SQL "test.sql"

-rw-rw-r-- 1 vivekanand vivekanand 14535 May  7 13:56 OUTPUT_2017_Q4.csv
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...