繁体   English   中英

mySQL 将 varchar 转换为日期

[英]mySQL convert varchar to date

我需要将 1/9/2011 的 varchar 值转换为 mySQL 中的日期,我只需要月份和年份。 这样我就可以使用PERIOD_DIFF function(所以我需要将以上内容转换为 201101)。

我尝试了各种使用STR_TO_DATE function 的方法:

SELECT STR_TO_DATE(CYOApp_oilChangedDate, '%m/%Y') FROM CYO_AppInfo

但我得到奇怪的结果......(例如:2009-01-00)

我做错了什么?

select date_format(str_to_date('31/12/2010', '%d/%m/%Y'), '%Y%m'); 

要么

select date_format(str_to_date('12/31/2011', '%m/%d/%Y'), '%Y%m'); 

很难从你的例子中看出

感谢我从这里得到的及时帮助 - 对上面的一个小更新。

$query = "UPDATE `db`.`table` SET `fieldname`=  str_to_date(  fieldname, '%d/%m/%Y')";
select  substring_index(your_column_name, '/', 1) years,
           substring_index(your_column_name, '/', -1) months,
           substring_index(substring_index(your_column_name, '/', 2),'/', -1) as dates
    from your_Table_Name;

然后只需连接所有内容,您就会有一套合适的解决方案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM