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인 데이터는 가져올 수 없습니다.

그래서 DB에서 %Y-%m-%d 형식으로 데이터를 가져온 다음 날짜 변수($Now)를 사용하여 모든 데이터를 추출하는 방법이 있는지 생각하고 있었습니다.

어떤 방법이 있나요?

최대한 빨리 도움을 받으세요.

감사합니다, Sagar Mandal

답변1

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

다음과 같이 시도해보세요

posting_date LIKE '$date%'

관련 정보