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

Jak wyświetlić datę w amerykańskim formacie daty w programie SQL Server (T-SQL)

W SQL Server możesz użyć T-SQL FORMAT() funkcję wyświetlania daty w żądanym formacie. Ta funkcja akceptuje opcjonalny argument „kultura”, którego można użyć do określenia amerykańskiego formatu daty.

Możesz użyć tego argumentu lub nie, w zależności od języka sesji lokalnej. Oto jednak, jak wyraźnie określić amerykański format daty.

Przykład 1 – krótki amerykański format daty

Aby wyraźnie określić, że data powinna być wyświetlana w formacie angielskiego amerykańskiego, użyj en-US jako argument kultury:

DECLARE @thedate date = '2020-12-01'
SELECT FORMAT(@thedate, 'd', 'en-US') Result;

Wynik:

+-----------+
| Result    |
|-----------|
| 12/1/2020 |
+-----------+

W tym przypadku użyłem małej litery d jako drugi argument. Daje to stosunkowo krótki format daty, w którym dzień i miesiąc są wyświetlane jako liczby.

A ponieważ używamy amerykańskiego formatu daty, miesiąc poprzedza dzień.

Przykład 2 – Długi amerykański format daty

Jeśli zmienię go na wielkie D , otrzymuję dłuższy format, z podanym dniem i miesiącem:

DECLARE @thedate date = '2020-12-01'
SELECT FORMAT(@thedate, 'D', 'en-US') Result;

Wynik:

+---------------------------+
| Result                    |
|---------------------------|
| Tuesday, December 1, 2020 |
+---------------------------+

Przykład 3 – Niestandardowy amerykański format daty

Jeśli okaże się, że powyższe formaty dat są zbyt restrykcyjne, zawsze możesz określić niestandardowy format daty. Na przykład, jeśli podoba Ci się poprzedni przykład, z wyjątkiem tego, że wolisz mieć tylko 3 pierwsze litery dnia i miesiąca, możesz to zrobić:

DECLARE @thedate date = '2020-12-01'
SELECT FORMAT(@thedate, 'ddd, MMM d, yyyy', 'en-US') Result;

Wynik:

+------------------+
| Result           |
|------------------|
| Tue, Dec 1, 2020 |
+------------------+

Nadal określam kulturę, mimo że dokładnie określam, gdzie idzie każdy składnik daty. Powodem, dla którego to robię, jest wyraźne określenie, którego języka użyć. Pominięcie tego argumentu może, ale nie musi powodować problemów, w zależności od używanych języków.

Zaletą niestandardowych formatów dat jest to, że zapewniają dużą elastyczność. Możesz zmieniać komponenty, a pojawią się dokładnie tam, gdzie chcesz.

Sprawdzanie bieżącej sesji

Używając FORMAT() funkcji, jeśli nie podano argumentu culture, używany jest język bieżącej sesji. Ten język jest ustawiany niejawnie lub jawnie za pomocą SET LANGUAGE oświadczenie.

Aby uzyskać więcej informacji, oto 3 sposoby uzyskania języka bieżącej sesji w SQL Server (T-SQL).

Zobacz także Jak ustawić bieżący język w SQL Server (T-SQL).


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nieprawidłowa składnia w pobliżu „GO”

  2. Sprawdź, czy ciąg zawiera podciąg w SQL Server 2005, korzystając z procedury składowanej

  3. Wyrażenie CASE programu SQL Server

  4. Jak włączyć wszystkie ograniczenia wyboru i klucza obcego dla tabeli w SQL Server (przykłady T-SQL)

  5. Różnica między datą i godziną w sqlserver?