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

Jak sformatować datę i godzinę w SQL Server

W SQL Server możesz użyć T-SQL FORMAT() funkcja formatowania daty i/lub czasu. Wystarczy podać dwa argumenty; data/godzina i format do użycia.

Format jest dostarczany jako ciąg formatu. Ciąg formatu określa, jak dane wyjściowe powinny być sformatowane.

FORMAT() funkcja akceptuje również opcjonalny argument „kultura”, który pozwala określić język/lokal, do którego powinny być zgodne wyniki.

Przykład podstawowy

Oto podstawowy przykład użycia funkcji FORMAT() funkcja formatowania daty.

Nieprzetworzona data

Po pierwsze, oto jak wygląda surowa randka. Jeśli uruchomimy następujące oświadczenie:

SELECT GETDATE();

Otrzymujemy wynik, który wygląda mniej więcej tak:

2018-05-03 02:36:54.480

Sformatowana data

Teraz możemy użyć FORMAT() funkcji, aby sformatować tę datę i godzinę w naszym preferowanym formacie. Na przykład możemy to zrobić:

SELECT FORMAT( GETDATE(), 'D');

Co daje w wyniku:

Thursday, May 3, 2018

To tylko jeden z wielu formatów, które mogliśmy wybrać. Oto kolejny:

SELECT FORMAT( GETDATE(), 'd');

Co daje w wyniku:

5/3/2018

Rzeczywiste wyniki będą się różnić w zależności od użytej kultury. Domyślnie używany jest język bieżącej sesji, ale można go również zastąpić trzecim argumentem („kultura”).

Ustawianie ustawień regionalnych

Możemy dodać trzeci argument („kultura”) do powyższego kodu, aby określić ustawienia regionalne używane dla formatu daty.

Możemy to zrobić na przykład:

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

Co daje w wyniku:

03/05/2018

Oto kolejny przykład:

SELECT FORMAT( GETDATE(), 'd', 'zh-cn');

Co daje w wyniku:

2018/5/3

Jeśli kultura nie podano argumentu, używany jest język bieżącej sesji.

Oto jak znaleźć język bieżącej sesji i jak go ustawić.

Pamiętaj, że bieżący język będzie zwykle taki sam, jak domyślny język użytkownika, ale może to nie mieć miejsca, jeśli użytkownik zmienił bieżący język za pomocą SET LANGUAGE . W każdym razie możesz również dowiedzieć się, jaki jest język domyślny.

Jak możesz sobie wyobrazić, możesz uzyskać całkiem różne wyniki w zależności od twojego języka lub wartości jakiegokolwiek argumentu „kulturowego”. Zobacz, jak ustawienia języka mogą wpłynąć na wyniki FORMAT(), aby uzyskać więcej przykładów.

Wyodrębnianie miesiąca/tygodnia/roku

Możesz użyć FORMAT() funkcja zwracająca tylko miesiąc, część daty, tydzień lub rok, zgodnie z wymaganiami.

Pamiętaj, że rozróżniana jest wielkość liter. Na przykład MMM formatuje miesiąc inaczej niż mmm .

Miesiąc

Przykładowy kod zwrotu części miesiąca:

SELECT FORMAT( GETDATE(), 'MMM');

Wynik:

May

Rok

Przykładowy kod zwrotu części roku:

SELECT FORMAT( GETDATE(), 'yyyy');

Wynik:

2018

Dzień

Przykładowy kod zwrotu części dnia:

SELECT FORMAT( GETDATE(), 'dddd');

Wynik:

Thursday

Ekstrakcja czasu

Możesz też użyć funkcji FORMAT() funkcja zwracająca czas w określonym formacie.

Oto przykład:

SELECT FORMAT( GETDATE(), 'hh.mm');

Wynik:

03.37

Wskaźnik AM/PM

Możesz także dodać tt aby dołączyć oznaczenie AM/PM:

SELECT FORMAT( GETDATE(), 'hh.mm tt');

Wynik:

03.37

Łączenie ciągów formatujących

Możesz również połączyć te ciągi formatu, aby zapewnić własny dostosowany format daty. Przykład:

SELECT FORMAT( GETDATE(), 'hh.mm tt dddd, dd MMMM, yyyy');

Wynik:

03.41 AM Thursday, 03 May, 2018

Informacje o specyfikatorach formatu daty i godziny

Poniższe artykuły zawierają wszystkie specyfikatory formatu daty i godziny, których można używać z FORMAT() funkcja w SQL Server, wraz z przykładami T-SQL:

  • Ciągi standardowego formatu daty i godziny
  • Niestandardowe ciągi formatu daty i godziny

Są to te same specyfikatory formatu daty i godziny, które są obsługiwane przez .NET Framework (FORMAT() funkcja opiera się na .NET Framework).

Informacje o specyfikatorach formatu liczbowego

Poniższe artykuły zawierają wszystkie specyfikatory formatu liczb, których można używać z FORMAT() funkcja (np. do formatowania liczb):

  • Standardowe ciągi formatu numerycznego
  • Niestandardowe ciągi formatu liczb

Są to te same specyfikatory formatu liczbowego, które są obsługiwane przez .NET Framework.

Inne funkcje daty

T-SQL zawiera również szereg innych funkcji, które pomagają wyodrębnić części z dat. Należą do nich funkcje takie jak DAY() , MONTH() , YEAR() , DATEPART() i DATENAME() .


  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 zmienić schemat obiektu (tabela, widok, procedura składowana) w bazie danych SQL Server — samouczek SQL Server / TSQL, część 28

  2. Zatrzaski SQL Server — inne zatrzaski, o których warto wiedzieć

  3. Dodawanie wielu sparametryzowanych zmiennych do bazy danych w c#

  4. Przegląd zadań Najnowsza usługa monitorowania bazy danych — Spotlight Cloud

  5. SQLServer IDENTITY Kolumna z tekstem