Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
sql database v Microsoft Fabric
Sekce v tomto článku pokrývají všechny Transact-SQL datové a časové typy a funkce.
- Datové a časové typy dat
- funkce
data a času - Funkce, které vracejí hodnoty datového a časového systému
- Funkce, které vracejí datové a časové části
- Funkce, které vracejí hodnoty data a času ze svých částí
- Funkce, které vracejí hodnoty rozdílu data a času
- Funkce, které mění hodnoty data a času
- Funkce, které nastavují nebo vracejí funkce formátu relace
- Funkce, které ověřují hodnoty data a času
- Články související s datem a časem
Datové typy data a času
Transact-SQL datové a časové typy jsou uvedeny v následující tabulce:
| Datový typ | Formát | Rozmezí | Přesnost | Velikost úložiště (bajty) | Uživatelsky definovaná přesnost zlomku sekundy | Posun časového pásma |
|---|---|---|---|---|---|---|
| time | HH:mm:ss[.nnnnnnn] | 00:00:00.0000000 až 23:59:59.9999999 | 100 nanosekund | 3 až 5 | Ano | Ne |
| date | yyyy-MM-dd | 0001-01-01 až 9999-12-31 | 1 den | 3 | Ne | Ne |
| smalldatetime | yyyy-MM-dd HH:mm:ss | 1900-01-01 až 2079-06-06 | 1 minuta | 4 | Ne | Ne |
| datetime | yyyy-MM-dd HH:mm:ss[.nnn] | 1753-01-01 až 9999-12-31 | 0,00333 sekundy | 8 | Ne | Ne |
| datetime2 | yyyy-MM-dd HH:mm:ss[.nnnnnnn] | 0001-01-01 00:00:00.0000000 až 9999-12-31 23:59:59.9999999 | 100 nanosekund | 6 až 8 | Ano | Ne |
| datetimeoffset | yyyy-MM-dd HH:mm:ss[.nnnnnnnn] [+|-]HH:mm | 0001-01-01 00:00:00.0000000 až 9999-12-31 23:59:59.9999999 (v UTC) | 100 nanosekund | 8 až 10 | Ano | Ano |
Poznámka:
Datový typ Transact-SQL rowversion není datový nebo časový typ. Timestamp je zastaralý synonymum pro Rowversion.
Funkce pro datum a čas
Následující tabulky uvádějí Transact-SQL funkce data a času. Další informace o determinismu naleznete v tématu Deterministické a nedeterministické funkce.
Funkce, které vracejí hodnoty datového a časového systému
Transact-SQL odvozuje všechny hodnoty datového a časového systému z operačního systému počítače, na kterém instance SQL Serveru běží.
Funkce datového a časového systému s vyšší přesností
Od SQL Server 2008 (10.0.x) odvozuje databázový engine hodnoty data a času pomocí GetSystemTimeAsFileTime() Windows API. Přesnost závisí na hardwaru počítače a verzi Windows, na které běží instance SQL Serveru. Toto API má přesnost pevně stanovenou na 100 nanosekund. Použijte GetSystemTimeAdjustment() Windows API pro určení přesnosti.
| Funkce | Syntaxe | Návratová hodnota | Návratový datový typ | Determinismus |
|---|---|---|---|---|
| SYSDATETIME | SYSDATETIME ( ) | Vrací hodnotu datetime2(7) obsahující datum a čas počítače, na kterém instance SQL Serveru běží. Vrácená hodnota nezahrnuje časový posun pásma. | datetime2(7) | Nedeterministické |
| SYSDATETIMEOFFSET | SYSDATETIMEOFFSET ( ) | Vrací hodnotu datetimeoffset(7) obsahující datum a čas počítače, na kterém běží instance SQL Serveru. Vrácená hodnota zahrnuje časový posun pásma. | datetimeoffset(7) | Nedeterministické |
| SYSUTCDATETIME | SYSUTCDATETIME ( ) | Vrací hodnotu datetime2(7) obsahující datum a čas počítače, na kterém běží instance SQL Serveru. Funkce vrací hodnoty data a času jako UTC čas (koordinovaný univerzální čas). | datetime2(7) | Nedeterministické |
Funkce data a času systému s nižší přesností
| Funkce | Syntaxe | Návratová hodnota | Návratový datový typ | Determinismus |
|---|---|---|---|---|
| CURRENT_TIMESTAMP | CURRENT_TIMESTAMP | Vrací hodnotu datetime obsahující datum a čas počítače, na kterém běží instance SQL Serveru. Vrácená hodnota nezahrnuje časový posun pásma. | datetime | Nedeterministické |
| GETDATE | GETDATE ( ) | Vrací hodnotu datetime obsahující datum a čas počítače, na kterém běží instance SQL Serveru. Vrácená hodnota nezahrnuje časový posun pásma. | datetime | Nedeterministické |
| GETUTCDATE | GETUTCDATE ( ) | Vrací hodnotu datetime obsahující datum a čas počítače, na kterém běží instance SQL Serveru. Funkce vrací hodnoty data a času jako UTC čas (koordinovaný univerzální čas). | datetime | Nedeterministické |
| CURRENT_DATE | CURRENT_DATE | Vrací hodnotu data obsahující pouze datum počítače, na kterém běží instance databázového enginu. Vrácená hodnota nezahrnuje časový a časový posun v pásmu. | date | Nedeterministické |
Funkce, které vracejí datové a časové části
| Funkce | Syntaxe | Návratová hodnota | Návratový datový typ | Determinismus |
|---|---|---|---|---|
| DATE_BUCKET | DATE_BUCKET (datová část, číslo, datum, původ) | Vrací hodnotu odpovídající začátku každého datovo-časového bucketu z časového razítka definovaného parametrem počátku , nebo výchozí hodnotu 1900-01-01 00:00:00.000 původu, pokud parametr počátku není specifikován. |
Návratový typ závisí na argumentu zadaném pro datum. | Nedeterministické |
| DATUM | DATENAME ( datepart, date ) | Vrací znakový řetězec reprezentující specifikovanou datovou část daného data. | nvarchar | Nedeterministické |
| DATEPART | DATEPART ( datepart, date ) | Vrací celé číslo představující specifikovanou datovou částdaného data. | int | Nedeterministické |
| DATETRUNC | DATETRUNC ( datepart, datum ) | Vrátí vstupní datum zkrácené na určenou datovou část. | Návratový typ závisí na argumentu zadaném pro datum. | Nedeterministické |
| DEN | DEN ( datum ) | Vrací celé číslo představující denní část zadaného data. | int | Deterministický |
| MĚSÍC | MĚSÍC ( datum ) | Vrací celé číslo představující měsíc daného data. | int | Deterministický |
| ROK | ROK ( datum ) | Vrací celé číslo představující rok a část určeného data. | int | Deterministický |
Funkce, které vracejí hodnoty data a času ze svých částí
| Funkce | Syntaxe | Návratová hodnota | Návratový datový typ | Determinismus |
|---|---|---|---|---|
| DATFROMPARTS | DATEFROMPARTS ( rok, měsíc, den ) | Vrací hodnotu data pro určený rok, měsíc a den. | date | Deterministický |
| DATETIME2FROMPARTS | DATETIME2FROMPARTS ( rok, měsíc, den, hodina, minuta, sekundy, zlomky, přesnost ) | Vrací hodnotu datetime2 pro určené datum a čas s zadanou přesností. | datetime2(přesnost) | Deterministický |
| DATETIMEFROMPARTS | DATETIMEFROMPARTS ( rok, měsíc, den, hodina, minuta, sekundy, milisekundy ) | Vrací hodnotu data a času pro dané datum a čas. | datetime | Deterministický |
| DATUMČASČAS, posun od částí | DATETIMEOFFSETFROMPARTS ( rok, měsíc, den, hodina, minuta, sekundy, zlomky, hour_offset, minute_offset, přesnost ) | Vrací hodnotu datetimeoffset pro dané datum a čas, s požadovanými offsety a přesností. | datetimeoffset(přesnost) | Deterministický |
| SMALLDATETIMEFROMPARTS | SMALLDATETIMEFROMPARTS ( rok, měsíc, den, hodina, minuta ) | Vrací hodnotu smalldatetime pro dané datum a čas. | smalldatetime | Deterministický |
| ČAS Z ČÁSTÍ | ČAS z částí ( hodina, minuta, sekundy, zlomky, přesnost ) | Vrátí časovou hodnotu pro daný čas s určenou přesností. | čas (přesnost) | Deterministický |
Funkce, které vracejí hodnoty rozdílu data a času
| Funkce | Syntaxe | Návratová hodnota | Návratový datový typ | Determinismus |
|---|---|---|---|---|
| DATEDIFF | DATEDIFF ( datepart, start,end date ) | Vrátí počet hranic datepartu dat, které byly překročeny mezi dvěma určenými daty. | int | Deterministický |
| DATEDIFF_BIG | DATEDIFF_BIG ( datum část, datum začátku, konec ) | Vrátí počet hranic datepartu dat, které byly překročeny mezi dvěma určenými daty. | bigint | Deterministický |
Funkce, které mění hodnoty data a času
| Funkce | Syntaxe | Návratová hodnota | Návratový datový typ | Determinismus |
|---|---|---|---|---|
| DATEADD | DATEADD (datepart, číslo, datum ) | Vrátí novou hodnotu datového času přidáním intervalu k určené datové částidaného data. | Datový typ argumentu data | Deterministický |
| EOMONTH | EOMONTH ( start_date [ , month_to_add ] ) | Vrací poslední den měsíce obsahující uvedené datum, s volitelným posunem. | Typ návratu je typ argumentu start_date , nebo alternativně datový typ datu . | Deterministický |
| PŘEPÍNACÍ OFFSET | SWITCHOFFSET (DATETIMEOFFSET,time_zone ) | SWITCHOFFSET mění časový posun hodnoty DATETIMEOFFSET a zachovává hodnotu UTC. | datetimeoffset s frakcionální přesností DATETIMEOFFSET | Deterministický |
| DODATE, čas posun | TODATETIMEOFFSET (výraz, time_zone ) | TODATETIMEOFFSET převádí hodnotu datetime2 na hodnotu datetimeoffset. TODATETIMEOFFSET interpretuje hodnotu datetime2 v lokálním čase pro specifikovaný time_zone. | datetimeoffset s zlomkovou přesností argumentu datetime | Deterministický |
Funkce, které nastavují nebo vracejí funkce formátu relace
| Funkce | Syntaxe | Návratová hodnota | Návratový datový typ | Determinismus |
|---|---|---|---|---|
| @@DATEFIRST | @@DATEFIRST | Vrátí aktuální hodnotu pro relaci ze SET DATEFIRST. | tinyint | Nedeterministické |
| STANOVTE DATUM JAKO PRVNÍ | NASTAVIT DATEFIRST { number | @number_var } | Nastaví první den v týdnu na číslo od 1 do 7. | Není relevantní | Není relevantní |
| NASTAVIT FORMÁT DATA | SET DATEFORMAT { format | @format_var } | Nastavuje pořadí datových částí (měsíc/den/rok) pro zadávání dat datetime nebo smalldatetime . | Není relevantní | Není relevantní |
| @@LANGUAGE | @@LANGUAGE | Vrátí název aktuálně používaného jazyka. @@LANGUAGE není funkce na základě data nebo času. Nicméně nastavení jazyka může ovlivnit výstup datových funkcí. | Není relevantní | Není relevantní |
| JAZYK PŘEDEM | NASTAV JAZYK { [ N ] 'jazyk' | @language_var } | Nastavuje jazykové prostředí pro relace a systémové zprávy. SET LANGUAGE není funkce data nebo času. Nicméně nastavení jazyka ovlivňuje výstup datových funkcí. | Není relevantní | Není relevantní |
| sp_helplanguage | sp_helplanguage [ [ @language = ] 'jazyk' ] | Vrací informace o formátech dat ve všech podporovaných jazycích.
sp_helplanguage není to procedura uložená v datu nebo čase. Nicméně nastavení jazyka ovlivňuje výstup datových funkcí. |
Není relevantní | Není relevantní |
Funkce, které ověřují hodnoty data a času
| Funkce | Syntaxe | Návratová hodnota | Návratový datový typ | Determinismus |
|---|---|---|---|---|
| ISDATE | ISDATE ( výraz ) | Určuje, zda vstupní výraz datetime nebo smalldatetime má platnou hodnotu data nebo času. | int | ISDATE je deterministický pouze s funkcí CONVERT, když je specifikován parametr stylu CONVERT a když styl není roven 0, 100, 9 nebo 109. |
Články související s datem a časem
| Article | Description |
|---|---|
| FORMÁT | Vrátí hodnotu formátovanou zadaným formátem a volitelnou jazykovou verzí. Použijte funkci FORMAT pro formátování dat/času a čísel podle místního hlediska jako řetězců. |
| OBSAZENÍ a KONVERZE | Poskytuje informace o převodu hodnot data a času na a z literálů řetězců a dalších formátů dat a času. |
| psaní mezinárodních Transact-SQL příkazů | Poskytuje pokyny pro přenosnost databází a databázových aplikací, které používají Transact-SQL příkazy z jednoho jazyka do druhého nebo podporují více jazyků. |
| ODBC skalární funkce | Poskytuje informace o skalárních funkcích ODBC dostupných pro použití v Transact-SQL příkazech. Zahrnuje funkce ODBC pro datum a čas. |
| V ČASOVÉM PÁSMU | Umožňuje převod časových pásem. |