2009-12-27 5 views
1

я делаю мой последний год проект с использованием asp.net в передней части и SQL Server 2005, как задняя частьExtract год от формата даты и времени

Мой вопрос: Я хочу извлечь только год от формата даты и времени. И использовать год для фильтрации данных

ответ

3

В C#:

int year = DateTime.Now.Year; 

Если вы имеете в виду на уровне T-SQL:

DATEPART ("yyyy", date) 
+0

Я бы предпочел использовать год (дата), так как это детерминированный –

4

Я согласен с г-ном пшеницы ответа. Просто добавив несколько больше возможностей

C#

a) int year = DateTime.Now.Year; 

b) Given a date 

int year = Convert.ToDateTime("12/28/2010").Year; 

VB.Net

Dim year As Int32 
year = DateTime.Now.Year 

Sql Server 2005

Использование DATENAME

а) select [year] = DATENAME(yy,getdate())

б) Из заданной даты select [year] = DATENAME(yy,'12/31/2010')

Использование DATEPART

а) select [year] = DATEPART(yy,getdate())

б) Из заданной даты select [year] = DATEPART(yy,'12/31/2010')

Использование Год функции (Добавлено после комментария Марка,)

select [year] = YEAR (getdate()) 
+0

я бы предпочел использовать YEAR (дата) в T-SQL, так как это детерминированный - DATEPART ** не ** определяется, поэтому вы не можете его использовать, например в хранимой функции или полевом вычислении –

+0

Большое спасибо. Что-то новое для меня. –

Смежные вопросы