Tento článek poskytuje srovnání datových typů data a času na serveru SQL Server, pokud jde o jejich rozsah, přesnost a velikost úložiště.
Typ dat | Rozsah | Přesnost | Velikost úložiště |
---|---|---|---|
datum | 0001-01-01 prostřednictvím 9999-12-31 | 1 den | 3 bajty |
datetime | 1753-01-01 prostřednictvím 9999-12-31 00:00:00 prostřednictvím 23:59:59.997 | 0,00333 sekund | 8 bajtů |
datetime2 | 0001-01-01 prostřednictvím 9999-12-31 00:00:00 prostřednictvím 23:59:59.9999999 | 100 nanosekund | 6 až 8 bajtů* |
datetimeoffset | 0001-01-01 prostřednictvím 9999-12-31 00:00:00 prostřednictvím 23:59:59.9999999 -14:00 prostřednictvím +14:00 | 100 nanosekund | 8 až 10 bajtů* |
smalldatetime | 1900-01-01 prostřednictvím 2079-06-06 00:00:00 prostřednictvím 23:59:59 | 1 minuta | 4 bajty |
čas | 00:00:00.0000000 prostřednictvím 23:59:59.9999999 | 100 nanosekund | 3 až 5 bajtů* |
* Všimněte si, že zde uvedené velikosti úložiště jsou částky uvedené v dokumentaci společnosti Microsoft. Tyto datové typy však také používají 1 bajt k uložení přesnosti. Proto přidejte 1 bajt k částkám zde uvedeným, abyste získali úplnější obrázek o požadavcích na úložiště.
Například velikost úložiště pro datetime2 by se pohybovala od 7 do 9 bajtů, pokud zahrnete bajt navíc.
Převod mezi těmito typy dat
Vzhledem k rozdílům v přesnosti a rozsahu mezi těmito datovými typy musíte být při převodu mezi nimi zvlášť opatrní. Zejména převod z typu s vyšší přesností na typ s nižší přesností může vést ke ztrátě části hodnoty a zaokrouhlení zbývající hodnoty nahoru.
Příklady naleznete v části Převod mezi datovými typy data a času na serveru SQL.