我想知道如何将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
答案 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));
将返回此信息:
日/月/年