DCVOID
DCVOID

Reputation: 1

How to convert a string which contains date into a mysql timestamp format?

I am working in python environment. I have a date string which is like this - 26 Apr 2022 17:23:17 GMT I want to insert this date into mysql where the date column datatype is timestamp. How can I achieve this?

My variables are like this (id=1, name="Jack", date="26 Apr 2022 17:23:17 GMT")
mycurser = mydb.cursor()
sql = "INSERT INTO sample_table (id,name,date) VALUES (%s, %s, %s)"
val = (id, name, date)
mycurser.execute(sql,val)

Here date is string and mysql datatype is timestamp.

Upvotes: 0

Views: 410

Answers (1)

Tim Biegeleisen
Tim Biegeleisen

Reputation: 521409

You could use STR_TO_DATE:

SELECT STR_TO_DATE('26 Apr 2022 17:23:17 GMT', '%d %b %Y %H:%i:%s');
-- 2022-04-26 17:23:17

Using your Python script:

sql = """INSERT INTO sample_table (id, name, date)
         SELECT %s, %s, STR_TO_DATE(%s, '%d %b %Y %H:%i:%s')"""
val = (id, name, date)
mycurser.execute(sql, val)

Upvotes: 2

Related Questions