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

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

CURRENT_TIMESTAMP 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.

Ta funkcja jest odpowiednikiem ANSI SQL dla GETDATE() T-SQL funkcji, dzięki czemu możesz użyć dowolnej opcji. Zauważ, że obie funkcje mają niższy zakres dat i niższą domyślną precyzję ułamkową niż SYSDATETIME() języka T-SQL funkcja (która zwraca datetime2(7) wartość).

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

Składnia

Składnia wygląda tak:

CURRENT_TIMESTAMP

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

Przykład

Oto podstawowy przykład użycia SELECT instrukcja zwracająca aktualną datę i godzinę z CURRENT_TIMESTAMP :

SELECT CURRENT_TIMESTAMP AS Result;

Wynik:

+-------------------------+
| Result                  |
|-------------------------|
| 2018-06-16 00:06:36.740 |
+-------------------------+

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

Wynik:

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

Oto kolejny przykład z użyciem MONTH() funkcjonować. Wynik jest taki sam.

SELECT MONTH(CURRENT_TIMESTAMP) 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, CURRENT_TIMESTAMP) 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(CURRENT_TIMESTAMP, 'd', 'en-US') AS 'd, en-US',
    FORMAT(CURRENT_TIMESTAMP, 'd', 'en-gb') AS 'd, en-gb',
    FORMAT(CURRENT_TIMESTAMP, 'D', 'en-US') AS 'D, en-US',
    FORMAT(CURRENT_TIMESTAMP, 'D', 'en-gb') AS 'D, en-gb';

Wynik:

+------------+------------+-------------------------+--------------+
| d, en-US   | d, en-gb   | D, en-US                | D, en-gb     |
|------------+------------+-------------------------+--------------|
| 6/16/2018  | 16/06/2018 | Saturday, June 16, 2018 | 16 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 = CURRENT_TIMESTAMP;
DECLARE @date2 datetime2 = DATEADD(month, 1, CURRENT_TIMESTAMP);
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. Nie można powiązać wieloczęściowego identyfikatora

  2. Jak zainstalować SQL Server w Red Hat 8?

  3. Jak działa funkcja STRING_ESCAPE() w SQL Server (T-SQL)

  4. Tymczasowo wyłącz wszystkie ograniczenia klucza obcego

  5. W jaki sposób warunki sanitarne, które unikają pojedynczych cudzysłowów, mogą zostać pokonane przez wstrzyknięcie SQL w SQL Server?