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

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

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

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

Składnia

Po pierwsze, oto składnia:

SYSDATETIME ( )

Tak więc ta funkcja w rzeczywistości nie akceptuje żadnych argumentów. Po prostu nazywasz to bez żadnych argumentów.

Przykład

Oto podstawowy przykład użycia SELECT instrukcja zwracająca bieżącą datę i godzinę z SYSDATETIME() :

SELECT SYSDATETIME() AS Result;

Wynik:

+-----------------------------+
| Result                      |
|-----------------------------|
| 2018-06-15 23:09:13.5852199 |
+-----------------------------+

Jak wspomniano, zwraca datetime2(7) wartość. data/godzina2 typ danych ma większy zakres dat i większą domyślną dokładność ułamkową niż data-godzina typ danych (który jest typem danych, który GETDATE() zwraca – zobacz SYSDATETIME() vs GETDATE():Jaka jest różnica?).

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, SYSDATETIME()) 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(SYSDATETIME()) AS Result;

Wynik:

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

Obie te funkcje zwróciły bieżący miesiąc. Ale zwrócili 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, SYSDATETIME()) 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(SYSDATETIME(), 'd', 'en-US') AS 'd, en-US',
    FORMAT(SYSDATETIME(), 'd', 'en-gb') AS 'd, en-gb',
    FORMAT(SYSDATETIME(), 'D', 'en-US') AS 'D, en-US',
    FORMAT(SYSDATETIME(), '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żyć 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 = SYSDATETIME();
DECLARE @date2 datetime2 = DATEADD(month, 1, SYSDATETIME());
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 tworzyć historię LUB widoki audytu z tabel zmiany przechwytywania danych (CDC) w programie SQL Server — samouczek dotyczący programu SQL Server

  2. SQL Server 2016:wpływ na wydajność zawsze szyfrowanego

  3. Wyrażenia regularne w SQL Server

  4. Zmień przesunięcie strefy czasowej w wartości przesunięcia daty i godziny w programie SQL Server (T-SQL)

  5. Jak zainstalować Azure Data Studio na komputerze Mac