как взять год, используя дату, хранящуюся в базе данных: - PullRequest
0 голосов
/ 06 мая 2010

как взять год, используя дату, хранящуюся в базе данных:

в запросе Sql ?? ????

например, дата хранится как

2010-04-29 15: 53: 09.577

как получить год в хранимой процедуре, чтобы проверить, совпадают ли год, который я передаю, и год, сохраненный в базе данных

Ответы [ 2 ]

3 голосов
/ 06 мая 2010

Это зависит от базы данных. Попробуйте использовать функцию YEAR.

например.,

IF YEAR(MyDateColumn) = @year ...
1 голос
/ 06 мая 2010

Чтобы проверить одно значение, вы можете использовать функцию year для извлечения года из даты.

Если вы сравниваете год с датой во всех записях в таблице, вам следует вместо этого преобразоватьгод к диапазону дат:

select SomeFields
from TheTable
where TheDate >= '2010-01-01' and TheDate < '2011-01-01'

Сравнение значений даты намного быстрее, поскольку можно использовать индекс.Если вы выполняете вызов функции year для каждого значения из таблицы, он не может использовать индекс.

...