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

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

我首先得到字符串的日期部分,但我不能使用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

回答:

我敢肯定,这远非最好的,但你总是可以试试这个:

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));

将返回这个:

dd/mm/yyyy

以上是 在mysql中将字符串更改为日期格式 的全部内容, 来源链接: utcz.com/qa/259531.html

回到顶部