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

3 sposoby na uzyskanie nazwy dnia z daty w SQL Server (T-SQL)

W SQL Server, tak jak możesz użyć T-SQL, aby uzyskać nazwę miesiąca z daty, możesz również użyć tych samych metod, aby uzyskać nazwę dnia. Przez nazwę dnia mam na myśli poniedziałek lub wtorek na przykład, a nie numer daty lub numer dnia tygodnia (który możesz również uzyskać, jeśli go potrzebujesz).

Oto trzy sposoby na zwrócenie nazwy dnia z daty w SQL Server przy użyciu T-SQL.

Funkcja FORMAT()

FORMAT() funkcja zwraca wartość sformatowaną w określonym formacie i opcjonalnej kulturze. Możesz go użyć, aby zwrócić nazwę dnia od daty.

Oto przykład:

DECLARE @date datetime2 = '2018-07-01';
SELECT FORMAT(@date, 'dddd') AS Result;

Wynik:

+----------+
| Result   |
|----------|
| Sunday   |
+----------+

W tym przypadku udostępniliśmy format dddd który jest nazwą dnia.

Możesz również uzyskać krótką nazwę dnia, podając ddd jako drugi argument:

DECLARE @date datetime2 = '2018-07-01';
SELECT FORMAT(@date, 'ddd') AS Result;

Wynik:

+----------+
| Result   |
|----------|
| Sun      |
+----------+

Możesz również podać opcjonalny argument, aby określić kulturę.

Oto kilka przykładów:

DECLARE @date datetime2 = '2018-07-01';
SELECT 
    FORMAT(@date, 'dddd', 'en-US') AS 'en-US',
    FORMAT(@date, 'dddd', 'es-es') AS 'es-es',
    FORMAT(@date, 'dddd', 'de-de') AS 'de-de',
    FORMAT(@date, 'dddd', 'zh-cn') AS 'zh-cn';

Wynik:

+---------+---------+---------+---------+
| en-US   | es-es   | de-de   | zh-cn   |
|---------+---------+---------+---------|
| Sunday  | domingo | Sonntag | 星期日  |
+---------+---------+---------+---------+

Funkcja DATENAME()

DATENAME() funkcja jest podobna do DATEPART() funkcja, z wyjątkiem tego, że zwraca nazwę określonej części daty (ale tylko wtedy, gdy ma zastosowanie nazwa). Oznacza to, że zwraca nazwę dnia tygodnia lub nazwę miesiąca, jeśli tego potrzebujesz.

Oto jak zwrócić składnik dnia tygodnia w dacie:

DECLARE @date datetime2 = '2018-07-01';
SELECT DATENAME(weekday, @date) AS Result;

Wynik:

+----------+
| Result   |
|----------|
| Sunday   |
+----------+

Funkcja skalarna ODBC() DAYNAME()

Jeśli z jakiegoś powodu musisz użyć funkcji skalarnej ODBC, jest taka, która nazywa się DAYNAME() który konkretnie zwraca nazwę dnia tygodnia od daty.

Przykład:

DECLARE @date datetime2 = '2018-07-01';
SELECT {fn DAYNAME(@date)} AS Result;

Wynik:

+----------+
| Result   |
|----------|
| Sunday   |
+----------+

Podczas używania funkcji skalarnych ODBC w T-SQL, są one otoczone nawiasami klamrowymi ({} ) a nazwa funkcji jest poprzedzona przedrostkiem fn .


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Obniż koszty licencjonowania SQL Server

  2. Jak zwrócić podciąg z ciągu w SQL Server za pomocą funkcji SUBSTRING()?

  3. Zapytanie, aby uzyskać tylko liczby z ciągu

  4. Różnica między podzapytaniem a skorelowanym podzapytaniem

  5. Zmień nazwę kolumny w SQL Server (T-SQL)