У SQL Server 2008, як витягти лише рік із дати. У БД у мене є стовпець із датою, звідки мені потрібно вилучити рік. Чи є якась функція для цього?
Відповіді:
year(@date)
year(getdate())
year('20120101')
update table
set column = year(date_column)
whre ....
або якщо вам це потрібно в іншій таблиці
update t
set column = year(t1.date_column)
from table_source t1
join table_target t on (join condition)
where ....
select year(current_timestamp)
Ви можете використовувати year()
функцію в sql, щоб отримати рік із зазначеної дати.
Синтаксис:
YEAR ( date )
Для отримання додаткової інформації перегляньте тут
річна доза функції, наприклад:
select year(date_column) from table_name
---Lalmuni Demos---
create table Users
(
userid int,date_of_birth date
)
insert into Users values(4,'9/10/1991')
select DATEDIFF(year,date_of_birth, getdate()) - (CASE WHEN (DATEADD(year, DATEDIFF(year,date_of_birth, getdate()),date_of_birth)) > getdate() THEN 1 ELSE 0 END) as Years,
MONTH(getdate() - (DATEADD(year, DATEDIFF(year, date_of_birth, getdate()), date_of_birth))) - 1 as Months,
DAY(getdate() - (DATEADD(year, DATEDIFF(year,date_of_birth, getdate()), date_of_birth))) - 1 as Days,
from users
Просто використовуйте
ВИБЕРІТЬ ДАТУ ДАТИ (РІК, ДеякіДатаСтовпець)
Він поверне частину типу DATETIME, яка відповідає вказаному параметру. ТАК DATEPART (YEAR, GETDATE ()) поверне поточний рік.
Може передавати інші форматори часу замість YEAR like