sql >> Database teknologi >  >> RDS >> Sqlserver

3 måder at få dagsnavnet fra en dato i SQL Server (T-SQL)

I SQL Server, ligesom du kan bruge T-SQL til at få månedsnavnet fra en dato, kan du også bruge de samme metoder til at få dagsnavnet. Med dagsnavn mener jeg mandag eller tirsdag for eksempel, og ikke datonummer eller nummer på ugedagen (som du også kan få, hvis du har brug for det).

Her er tre måder at returnere dagsnavnet fra en dato i SQL Server ved hjælp af T-SQL.

FORMAT()-funktionen

FORMAT() funktion returnerer en værdi formateret i det angivne format og valgfri kultur. Du kan bruge den til at returnere dagens navn fra en dato.

Her er et eksempel:

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

Resultat:

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

I dette tilfælde har vi givet formatet dddd som er for dagens navn.

Du kan også få navnet på den korte dag ved at angive ddd som det andet argument:

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

Resultat:

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

Du kan også give et valgfrit argument for at specificere kulturen.

Her er nogle eksempler:

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';

Resultat:

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

DATENAME()-funktionen

DATENAME() funktionen ligner DATEPART() funktion, bortset fra at den returnerer navnet af den angivne datodel (men kun hvor et navn er relevant). Det betyder, at den returnerer ugedagens navn eller månedens navn, hvis det er det, du har brug for.

Sådan returnerer du ugedagskomponenten for datoen:

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

Resultat:

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

DAYNAME() ODBC-skalarfunktionen

Hvis du af en eller anden grund skal bruge en ODBC skalarfunktion, er der en kaldet DAYNAME() der specifikt returnerer ugedagens navn fra en dato.

Eksempel:

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

Resultat:

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

Når du bruger ODBC skalarfunktioner i T-SQL, er de omgivet af krøllede klammeparenteser ({} ), og funktionsnavnet er præfikset med fn .


  1. Fuldtekstsøgninger i MySQL:The Good, the Bad and the Ugly

  2. 10 grunde til at holde fast i MySQL

  3. Sådan kontrolleres Oracle-databasen for langvarige forespørgsler

  4. Placering af my.cnf-fil på macOS