Py学习  »  DATABASE

将包含日期内容的字符串列复制到MySQL中的日期时间列

LatinCanuck • 4 年前 • 812 次点击  

我有一张桌子,上面有一列叫做“销售日期”。它是varchar类型。它包含格式为“2017-08-19T16:29:11+00:00”的日期。

我创建了一个新列,名为sales_date_type_datetime,类型为datetime。我想获取销售日期中的所有数据,将其转换为日期时间类型并将其复制到新列。

我试过这些SQL语句,但都失败了

// Error Code: 1292. Incorrect datetime value: '2017-08-15T13:32:00+00:00' for column 'salse_date_type_datetime'
UPDATE sales_table 
SET   sales_date_type_datetime = sales_date;

// Error Code: 1411. Incorrect datetime value: '' for function str_to_date
UPDATE sales_date 
SET    sales_date_type_datetime = STR_TO_DATE(sales_date, '%Y-%m-%d %H:%i:%s');

任何帮助或指导都将不胜感激。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/38914
 
812 次点击  
文章 [ 2 ]  |  最新文章 4 年前
LatinCanuck
Reply   •   1 楼
LatinCanuck    5 年前

法06的回答本该有效,但出于某种原因,它对我无效。可能是因为我的MySQL版本(5.7.12)

下面的SQL最终为我工作

   UPDATE sales_table
   SET sales_date_type_datetime =  cast(SUBSTRING(sales_date, 1, 19) as datetime);
fa06
Reply   •   2 楼
fa06    5 年前

在下面试试-

DEMO

UPDATE sales_date 
SET    sales_date_type_datetime = STR_TO_DATE(sales_date, '%Y-%m-%dT%H:%i:%s')