Python MySQL 日期時間格式化作為引數的操作
阿新 • • 發佈:2020-03-15
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 日期時間格式化作為引數的操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。