Подтвердить что ты не робот

Год выпуска mysql из формата даты

Мне нужен запрос mysql, чтобы извлечь год из следующего формата даты из таблицы в моей базе данных.

Например,

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

следующий запрос не работал

select YEAR ( subdateshow ) from table 

Тип столбца - varchar. Есть ли способ решить это?

4b9b3361

Ответ 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

Ответ 2

SELECT EXTRACT(YEAR FROM subdateshow) FROM tbl_name;

Ответ 3

Вы можете попробовать следующее:

SELECT EXTRACT(YEAR FROM field) FROM table WHERE id=1

Ответ 4

Это должно работать:

SELECT YEAR(STR_TO_DATE(subdateshow, '%m/%d/%Y')) FROM table;

например:

SELECT YEAR(STR_TO_DATE('01/17/2009', '%m/%d/%Y'));  /* shows "2009" */

Ответ 5

попробуйте этот код:

SELECT DATE_FORMAT(FROM_UNIXTIME(field), '%Y') FROM table

Ответ 6

Это должно работать, если формат даты согласован:

select SUBSTRING_INDEX( subdateshow,"/",-1 ) from table 

Ответ 7

TRY:

SELECT EXTRACT(YEAR FROM (STR_TO_DATE(subdateshow, '%d/%m/%Y')));

Ответ 8

попробуйте этот код:

SELECT YEAR( str_to_date( subdateshow, '%m/%d/%Y' ) ) AS Mydate