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

GETDATE() Przykłady w SQL Server (T-SQL)

GETDATE() funkcja zwraca bieżącą datę i godzinę jako data-godzina wartość. Ta wartość pochodzi z systemu operacyjnego komputera, na którym działa instancja SQL Server.

Ten artykuł zawiera przykłady funkcji GETDATE() funkcji, w tym jak możesz jej użyć z innymi funkcjami, aby zwrócić interesującą Cię wartość.

Składnia

Po pierwsze, oto składnia:

GETDATE ( )

Więc po prostu wywołujesz tę funkcję bez żadnych argumentów.

Przykład

Oto podstawowy przykład użycia SELECT instrukcja do zwrócenia bieżącej daty i godziny z GETDATE() :

SELECT GETDATE() AS Result;

Wynik:

+-------------------------+
| Result                  |
|-------------------------|
| 2018-06-15 23:54:42.013 |
+-------------------------+

Jak wspomniano, zwraca datę i godzinę wartość. Jeśli chcesz uzyskać wartość z większą dokładnością ułamkową w sekundach, użyj SYSDATETIME() zamiast. Ta funkcja zwraca datetime2 wartość.

Wyodrębnij część daty

Jeśli chcesz tylko część zwracanej wartości, możesz użyć DATEPART() aby zwrócić tylko tę część daty/godziny, która Cię interesuje.

Przykład:

SELECT DATEPART(month, GETDATE()) AS Result;

Wynik:

+----------+
| Result   |
|----------|
| 6        |
+----------+

Czasami istnieje więcej niż jeden sposób na uzyskanie tego samego wyniku w SQL Server. Oto kolejny przykład z użyciem MONTH() funkcja:

SELECT MONTH(GETDATE()) AS Result;

Wynik:

+----------+
| Result   |
|----------|
| 6        |
+----------+

Obie te funkcje zwracają bieżący miesiąc. Ale zwracają je jako liczbę całkowitą reprezentującą numer miesiąca.

Jeśli chcesz miesiąc nazwa zamiast tego zwrócone, możesz użyć DATENAME() :

SELECT DATENAME(month, GETDATE()) AS Result;

Wynik:

+----------+
| Result   |
|----------|
| June     |
+----------+

Sformatuj datę

Możesz także użyć innych funkcji T-SQL, aby sformatować datę zgodnie z wymaganiami.

Oto przykład użycia FORMAT() funkcja formatowania wyniku:

SELECT 
    FORMAT(GETDATE(), 'd', 'en-US') AS 'd, en-US',
    FORMAT(GETDATE(), 'd', 'en-gb') AS 'd, en-gb',
    FORMAT(GETDATE(), 'D', 'en-US') AS 'D, en-US',
    FORMAT(GETDATE(), 'D', 'en-gb') AS 'D, en-gb';

Wynik:

+------------+------------+-----------------------+--------------+
| d, en-US   | d, en-gb   | D, en-US              | D, en-gb     |
|------------+------------+-----------------------+--------------|
| 6/15/2018  | 15/06/2018 | Friday, June 15, 2018 | 15 June 2018 |
+------------+------------+-----------------------+--------------+

Więcej przykładów w Jak formatować datę i godzinę w SQL Server.

Zwiększanie wartości i znajdowanie różnicy

Możesz używać funkcji takich jak DATEDIFF() aby zwrócić różnicę między bieżącą datą a inną datą.

Oto przykład użycia DATEADD() aby dodać miesiąc do bieżącej daty, a następnie sprawdzić różnicę w dniach:

DECLARE @date1 datetime2 = GETDATE();
DECLARE @date2 datetime2 = DATEADD(month, 1, GETDATE());
SELECT DATEDIFF(day, @date1, @date2) AS Result;

Wynik:

+----------+
| Result   |
|----------|
| 30       |
+----------+


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak przekazać XML z C# do procedury składowanej w SQL Server 2008?

  2. Wywołanie procedury składowanej T-SQL przez ADO.NET powoduje wyjątek SqlTimeoutException

  3. Jak mogę wymusić w strukturze encji wstawianie kolumn tożsamości?

  4. SQL Server 2017 Instalacja krok po kroku -1

  5. Odpowiednik LIMIT i OFFSET dla SQL Server?