쉘 스크립트의 SQL 쿼리 동적 날짜

쉘 스크립트의 SQL 쿼리 동적 날짜

좋습니다. 아래 코드를 참조한 후 질문을 드리겠습니다.

#!/usr/bin/bash

#scirpt to connect with db

master_db_user='root'
master_db_passwd='123'
master_db_port='3306'
master_db_host='localhost'
master_db_name='uppcldashboard'

Now=$(date +"%d-%m-%Y")
date=$(date +"%F")


#Preparing script

#SQL_Query='select * from test_table;'

#MySql Command to connect to a database

#mysql -u$master_db_user -p$master_db_passwd -D$master_db_name -e "select * from uppcl_amount_details into outfile '/created_files/uppcl.csv' fields terminated by ',' lines terminated by '\n';"

mysql -u$master_db_user -p$master_db_passwd -D$master_db_name -e "select * from uppcl_amount_details where posting_date='$date' into  outfile '/created_files/uppcl.csv' fields terminated by ',' lines terminated by '\n';"

mv /created_files/uppcl.csv /created_files/offline_collection$Now.csv

sed -i "1i id","Cashier_id","Cheque_no","collection_amount","collection_type","Posting_date","Discom","Division_Code","Division_Name","Head_cashier_id","ref_3","ref_4","ref_5","ref_6","ref_7","ref_8","Tran_Date","Status","Posting_Updated_Date" /created_files/offline_collection$Now.csv
echo "End of the Script"

좋아, 날짜가 2020-04-15 00:00:00인 날짜는 얻을 수 있지만 날짜가 2020-04-15 12:12:10인 데이터는 얻을 수 없습니다.

그래서 %Y-%m-%d 형식으로 데이터베이스에서 데이터를 가져온 다음 내 날짜 변수($Now)를 사용하여 모든 데이터를 추출하는 방법이 있는지 궁금합니다.

해결 방법이 무엇입니까

최대한 빨리 도움이 필요합니다.

감사와 안부 인사, Sagar Mandal

답변1

2020-04-15 00:00:00기본적으로 datetime 매개변수에 날짜 값만 제공하면 SQL이 이를 사용합니다. 해당 날짜 이후의 모든 로그를 나열하려면 와일드카드를 사용하십시오.

다음과 같이 시도하다

posting_date LIKE '$date%'

관련 정보