У меня есть таблица, содержащая поля, как:Выберите значение строки в формат года
State_Code School_Code Established_Year Data_Year
12 12016837383 1962 2011-12
12 12018383799 1996 2011-12
12 12024895748 2007 2011-12
12 12037849837 1987 2011-12
Здесь все эти поля типа VARCHAR.
Я хочу, чтобы получить все школы, которые были созданы до 1990 года я запустил этот запрос:
Select
School_Code,
date_format(str_to_date(Established_Year,'%y'),'%y') as Year,
date_format(str_to_date(Data_Year,'%y'),'%y') as Data_Year
from
Table1
WHERE
Established_Year < 1990;
Но он возвращает это:
School_Code Year Data_Year
12016837383 19 20
12037849837 19 20
Я пытался использовать функцию CONVERT
также, как:
Select
School_Code,
Convert(Established_Year, YEAR) as Year
from
Table1
WHERE
Established_Year < 1990;
Но он бросает эту ошибку:
Error Code: 1064
You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax
to use near 'YEAR' at line 1
Спасибо, Это решило мою проблему для поля Foundlished_Year. Но если я хочу получить те School_Codes, чей Data_Year до 2010-11; то как мне это сделать? – prachi
см. Мои обновления, я конкатенировал '01', чтобы сделать его настоящей датой. –
Фактически, столбец Data_Year показывает год, в который была собрана соответствующая информация об этой школе. «2011-12» не означает, что «2011» - год, а «12» - месяц или дата. Это годовая сессия. Извините, если я вас заблужу. – prachi