【发布时间】:2019-05-16 09:17:34
【问题描述】:
我有一个表,其中有一个名为“DATE”的列,其中包含格式为“2017 年 11 月 23 日”的日期作为数据类型 VARCHAR。我正在尝试转换此 VARCHAR 列并将其存储在数据类型为 DATE 的名为“NEWDATE”的新列中。
我创建了 DATE 类型的新列“NEWDATE”,我正在尝试使用 STR_TO_DATE() 函数来执行转换。但是,由于某种原因,我无法让它工作。
UPDATE table SET NEWDATE = STR_TO_DATE(DATE,'%d-%m-%Y');
NEWDATE 列在语句之后没有更新任何值。我猜这意味着该语句没有执行。我做错了什么?
编辑:我也尝试过 STR_TO_DATE(DATE,'%d-%b-%Y')。但是 NEWDATE 列中的值仍然没有变化
【问题讨论】:
-
或许在这里你能找到答案。 stackoverflow.com/questions/4706289/…
-
您的格式
'%d-%m-%Y'与您的实际日期字符串不匹配!!!!!! -
'扫描从 str 的开头开始,如果发现格式不匹配则失败' - 所以我猜你的数据看起来不像你想象的那样。
-
@P.Salmon 我怎样才能知道它是否不是?我复制粘贴了其中一个值以检查是否有任何额外的空格/看不见的字符等。但情况似乎并非如此
标签: mysql