1. 程式人生 > 資料庫 >Python MySQL 日期時間格式化作為引數的操作

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