一尘不染

MySQL从日期格式中提取年份

mysql

我需要一个mysql查询来从数据库表中的以下日期格式中提取年份。

例如:

        subdateshow
      ----------------      
        01/17/2009
        01/17/2009
        01/17/2009
        01/17/2009
        01/17/2009

以下查询不起作用

select YEAR ( subdateshow ) from table

列类型为varchar。有什么办法解决这个问题?


阅读 863

收藏
2020-05-17

共1个答案

一尘不染

由于您的subdateshow是VARCHAR列,而不是正确的DATE,TIMESTAMP或DATETIME列,因此必须在使用YEAR之前将字符串转换为日期:

SELECT YEAR(STR_TO_DATE(subdateshow, "%m/%d/%Y")) from table

参见http://dev.mysql.com/doc/refman/5.5/en/date-and-time-
functions.html#function_str-to-
date

2020-05-17