0
% s을 날짜 문자열로 바꾸는 중 오류가 발생합니다.python mysql이 지원되지 않는 형식 문자 '' '
import datetime
now = datetime.datetime.now()
day_minus_one = now + datetime.timedelta(days=-1)
new_date = day_minus_one.strftime('%Y%m%d')
db = MySQLdb.connect(host='127.0.0.1', user='root', passwd='', db='daily_report')
cur = db.cursor()
sql = "select date, stp_dpc, count(*), concat(round(avg(status = 'Success') * 100), '%') as Success from daily where status not in ('data1', 'data2', 'data3') and date = %s group by date, stp_dpc"
cur.execute(sql, new_date)
rows = cur.fetchall()
나는 문자를 리터럴 문자열 = '20170327'로 바꿉니다. 완벽하게 작동합니다.
cur.execute("select date, stp_dpc, count(*), concat(round(avg(status = 'Success') * 100), '%') as Success from daily where status not in ('data1', 'data2', 'data3') and date = '20170310' group by date, stp_dpc")
rows = cur.fetchall()
이 [비슷한 문제] (http://stackoverflow.com/questions인가/16359143/insertion-datetime-into-mysql-db)? 올바른 형식으로 값을 강제 변환하려면'strftime'을 사용해야한다고 생각합니다. ISO 8601이 선호됩니다 :'YYYY-MM-DD'. – tadman