您好,登錄后才能下訂單哦!
1.我的MySQL中的start_time存儲的是2018-03-21 10:55:32格式的時間,我需要按照YYYY-MM-DD格式來查詢,我的MySQL中的sql是這樣寫的:
SELECT * from mytable WHERE DATE_FORMAT(start_time,"%Y-%m-%d")='2018-03-21';
2.如果在Python中拼接的sql是:
sql = "select * from mytable where DATE_FORMAT(start_time,'%Y-%m-%d') < '2018-03-21'"
則執行cursor.execute(sql)是可以查詢的。
3.但是如果將時間'2018-03-21'作為參數,注意,Python中的sql應該這樣拼接:
ss = "2018-03-21" sql = "select * from mytable where DATE_FORMAT(start_time,'%Y-%m-%d')<"+"'"+ss+"'" cursor.execute(sql)
這里一定注意后面兩個雙引號包裹的單引號,這樣拼接出來的sql才會有單引號包裹日期字符串!
這樣可以把Python拼接的sql進行print打印出來,就是:
select * from mytable where DATE_FORMAT(start_time,'%Y-%m-%d')<'2018-03-21'
完全與MySQL的sql一樣了。
補充拓展:python將系統時間寫入mysql的datetime類型字段
還是看代碼吧!
dt=datetime.datetime.now().strftime("%Y-%m-%d%H:%M:%S") models.ptask.date_changed=datetime.datetime.fromtimestamp(time.mktime(time.strptime(dt,"%Y-%m-%d%H:%M:%S")))
以上這篇Python MySQL 日期時間格式化作為參數的操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。