在mysql中更改字符串到日期格式

时间:2014-02-26 18:55:03

标签: mysql date

我想知道如何将dd.mm.yyyy之类的字符串转换为日期格式,以便我可以在日期之间进行比较。

我首先得到字符串的日期部分,但我不能使用STR_TO_DATE函数。我想我必须将此日期字符串转换为新的日期字符串,如dd / mm / yyyy,然后我可以使用STR_TO_DATE。你有什么建议吗?

SUBSTR(OLD_VALUE,1,10)

修改

好的,这是我到目前为止所做的,我收到了错误

WHERE (STR_TO_DATE(SUBSTR(OLD_VALUE_TEXT),1,10),'%D.%M.%Y') <
      (STR_TO_DATE(SUBSTR(NEW_VALUE_TEXT),1,10),'%D.%M.%Y'))

新旧值文本都是40长度字符,格式为01.02.2014

示例数据

我正在分享soma数据样本。我需要找到new_value大于旧值的条目。谢谢

Name Char(30)      Old_Value_Text Char(40)         New_Value_Text Char(40)
John               12.02.2012                      01.02.2014
Max                14.01.2014                      22.02.2014
Carter             05.05.2013                      19.01.2014
James              03.12.1998                      07.02.2013
Hank               26.04.2009                      13.10.2012

1 个答案:

答案 0 :(得分:0)

我确定它远非最好,但您可以随时尝试:

concat_ws('/',substring(OLD_VALUE,1,2), substring(OLD_VALUE,4,2), substring(OLD_VALUE from 7));

您可以在控制台上尝试:

SELECT concat_ws('/',substring('dd.mm.yyyy',1,2), substring('dd.mm.yyyy',4,2), substring('dd.mm.yyyy' from 7));

将返回此信息:

  

日/月/年