sql >> Databasteknik >  >> RDS >> Sqlserver

Lista över datum- och tidsfunktioner i SQL Server (T-SQL)

Det här inlägget innehåller en lista över Transact-SQL-datum- och tidsfunktioner som är tillgängliga i SQL Server (från och med SQL Server 2017).

Detta inkluderar funktioner som returnerar datumet eller delar av datumet, samt funktioner som manipulerar och/eller formaterar datumet.

Systemets datum/tid värden

Följande funktioner returnerar systemets datum och tid. Datum/tid-värdena som returneras av dessa funktioner är alla härledda från operativsystemet som instansen av SQL Server körs på.

Högre precision

  • SYSDATETIME ()
  • SYSDATETIMEOFFSET ()
  • SYSUTCDATETIME ()

Lägre precision

  • CURRENT_TIMESTAMP
  • GETDATE ()
  • GETUTCDATE ()

Returdatum/tidsdelar

Dessa funktioner returnerar den tillämpliga delen av datumet som du anger, från det datum som du anger.

Du kan till exempel använda MONTH() för att returnera månadskomponenten för det givna datumet.

  • DATENAME ( datepartdatum )
  • DATEPART ( datepartdatum )
  • DAG ( datum )
  • MÅNAD ( datum )
  • ÅR ( datum )

Returnera ett datum-/tidsvärde från dess delar

Dessa funktioner låter dig bygga ett datum- och/eller tidsvärde från de olika delarna som utgör datumet/tiden. Ange bara de olika delarna, så returnerar funktionen datum/tid i tillämplig datatyp.

Du kan till exempel skicka år, månad och dag till DATEFROMPARTS() funktion, och den returnerar ett datum värde som består av dessa delar.

  • DATEFROMPARTS ( årmånaddag )
  • DATETIME2FROMPARTS ( årmånaddagtimmeminutsekunderbråkprecision )
  • DATETIMEFROMPARTS ( årmånaddagtimmeminutsekundermillisekunder )
  • DATETIMEOFFSETFROMPARTS ( årmånaddagtimmeminutsekunderbråktimmesförskjutningminute_offsetprecision )
  • SMALLDATETIMEFROMPARTS ( årmånaddagtimmeminut )
  • TIMEFROMPARTS ( timmeminutsekunderbråkprecision )

Återställ skillnaden mellan två datum-/tidsvärden

Följande funktioner kan användas för att returnera skillnaden mellan två olika datum-/tidsvärden.

  • DATEDIFF ( datepartstartdatumslutdatum )
  • DATEDIFF_BIG ( datepartstartdatumslutdatum )

Observera att dessa funktioner i princip gör samma sak. Skillnaden ligger i returvärdet.

Ändra datum-/tidsvärden

  • DATEADD (datepartnummerdatum )
  • EOMÅNAD ( startdatum [, month_to_add ] )
  • SWITCHOFFSET (DATETIMEOFFSETtidszon )
  • TODATETIMEOFFSET (uttrycktidszon )

Ange eller returnera sessionsformatfunktioner

  • @@DATEFIRST
  • STÄLL IN DATUM FÖRST { nummer | @ number_var }
  • STÄLL IN DATUMFORMAT { format | @ format_var }
  • @@LANGUAGE
  • STÄLL IN SPRÅK { [ N ]  språk ' | @ språk_var }
  • sp_helplanguage [ [ @language = språk ' ]

Validera ett datum-/tidsvärde

Denna funktion låter dig verifiera om argumentet som skickas till det har ett giltigt datum- eller tidsvärde.

  • ISDATE ( uttryck )

Relaterade funktioner/artiklar

  • ODBC-skalära funktioner för datum och tid
  • Hur man formaterar datum och tid i SQL Server

  1. Använder kapslade transaktioner i Oracle

  2. Hur kastar jag en sträng till heltal och har 0 vid fel i casten med PostgreSQL?

  3. Villkorlig lead/lag-funktion PostgreSQL?

  4. Hur undkommer jag ett enstaka citat i SQL Server?