Как выбрать часть метки времени в запросе SQL - PullRequest
9 голосов
/ 27 апреля 2011

В БД, с которой я работаю, я хочу выбрать только год из определенного поля TimeStamp.В частности, я надеюсь выбрать уникальные годы из этого столбца базы данных.

Например, если все метки времени в поле "ModifyTimeStamp" относятся к 2002 или 2006 году, я былайк вернул просто результат '2002' и '2006'.Если это невозможно, я был бы доволен получением результата, связанного с 2002-ми годами и 2006-м, и проанализировал бы его позже.* - все мои попытки разбора провалились.Я начал читать о команде extract для SQL, но я верю, что это только для PostgreSQL.

Любой совет с благодарностью!

Редактировать : Получил ответ, большое спасибо датагоду и Марку.Код, который я искал, в итоге был:

"Select distinct YEAR(ModifyTimeStamp) from Table"

Ответы [ 2 ]

10 голосов
/ 27 апреля 2011

Вы не указываете, какую СУБД (сервер базы данных) вы используете, но большинство баз данных имеют встроенные функции обработки даты:

  • MySQL / SQL Server:

    select YEAR(modifytimestamp) from yourtable
    
  • Access / SQL Server:

    select DatePart(year, modifytimestamp) from yourtable
    
  • Oracle:

    select TO_CHAR(modifytimestamp, 'YYYY') from yourtable
    
8 голосов
/ 27 апреля 2011

Попробуйте это

select distinct datepart(yy,TheDate) from YourTable
...