Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

3 sposoby wyodrębnienia roku z daty w SQL Server (T-SQL)

Istnieje kilka sposobów na zwrócenie roku od daty w SQL Server. Oto trzy (a może cztery?).

YEAR()

Najbardziej oczywistą metodą jest użycie YEAR() funkcjonować. Ta funkcja zwraca liczbę całkowitą z częścią roku podanej daty.

DECLARE @date date = '2020-10-25';
SELECT YEAR(@date);

Wynik:

2020

DATEPART()

Innym sposobem na to jest użycie DATEPART() funkcjonować. Podobnie jak w przypadku YEAR() funkcja, DATEPART() zwraca również wynik jako liczbę całkowitą.

DECLARE @date date = '2020-10-25';
SELECT DATEPART(year, @date);

Wynik:

2020

Alternatywnie, pierwszym argumentem może być yy lub yyyy aby uzyskać ten sam wynik.

FORMAT()

FORMAT() funkcja jest nieco inna niż poprzednie dwie, ponieważ zwraca wynik w postaci ciągu (nvarchar lub null).

DECLARE @date date = '2020-10-25'
SELECT FORMAT(@date, 'yyyy');

Wynik:

2020

Krótki rok

FORMAT() funkcja umożliwia również podanie krótkiego roku (tj. rr).

Przykład:

DECLARE @date date = '1979-10-25'
SELECT 
  FORMAT(@date, 'yyyy') AS [yyyy],
  FORMAT(@date, 'yy') AS [yy];

Wynik:

+--------+------+
 | yyyy   | yy   |
 |--------+------|
 | 1979   | 79   |
 +--------+------+ 

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Użyj PARSENAME(), aby zwrócić część nazwy obiektu w SQL Server

  2. Jak wyłączyć wszystkie ograniczenia klucza obcego w bazie danych SQL Server — samouczek SQL Server/TSQL — część 77?

  3. Jak tworzyć historię LUB widoki audytu z tabel zmiany przechwytywania danych (CDC) w programie SQL Server — samouczek dotyczący programu SQL Server

  4. Jak automatycznie zwiększać varchar

  5. Czy wszyscy migrują do chmury?