Я пишу скрипт BASH, который запрашивает у пользователя некоторую информацию (дата и время, час). Мне нужно, чтобы эти данные были обработаны и вставлены в запрос SQL. Формат этой информации должен быть ДД / ММ / ГГГГ ЧЧ / ММ
...
echo "Insert day"
read day
echo "Insert month"
read month
echo "Insert year"
read year
echo "Insert hour"
read hour
echo "Insert minute"
read minute
Как только пользователь вставил информацию, я пытаюсь передать информацию в запрос SQL, используя переменные, подобные этой :
consultaSQL="select TO_CHAR(FROM_TZ( CAST( log_time_stamp AS TIMESTAMP ), 'UTC' ) AT TIME ZONE 'EUROPE/LONDON','YYYY/MM/DD HH24:MI:SS ') AS UK_time, msg_id, msg_tp, init_ch_id, status_code, status_reason from FPS_LOG_PAYMENT where LOG_TIME_STAMP >=TO_DATE('**"$day"**/**"$month"**/**"$year"** **"$hour"**:**"$minute"**) and LOG_TIME_STAMP <TO_DATE('**"$day"**,**"$month"**,**"$year"** **"$hour"**,**"$minute"**','DD/MM/YYYY HH24:MI') and status_code='RJCT' order by log_time_stamp;"
Да, будет запрашиваться начальная и конечная информация, это всего лишь пример.
Я не уверен, влияют ли специальные символы из SQL на BASH и значения переменных могут быть вставлены.
Еще один способ, который, как я предполагал, я смогу попробовать, - это отправить все введенные пользователем данные в текстовый файл, обработать их с помощью sed и распечатать в запросе, но я не так хорошо знакомы с использованием sed.
Любые предложения и помощь будут очень признательны.