Python MySQL 日期時間格式化作為參數的操作
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 日期時間格式化作為參數的操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。
相關文章: