sql >> Databáze >  >> RDS >> Sqlserver

Funkce formátu data serveru SQL Server

Na serveru SQL Server je datový typ DATETIME uložen jako 2 4bajtová celá čísla, takže jako takový nemá konkrétní formátování, jako je toto.

Pokud chcete vrátit datum v určitém formátu, musíte jej PŘEVEDĚT na VARCHAR s příslušným zadaným identifikátorem formátu.

Pokud máte datum a čas ve VARCHAR a chcete jej uložit do pole DATETIME na SQL Server, měli byste se ujistit, že předáte tuto hodnotu SQL ve formátu, který bude vždy bezpečně interpretován. např. Formát dd/mm/RRRR není bezpečný, protože v závislosti na nastavení s ním lze zacházet jako s mm/dd/rrrr. Bezpečné formáty jsou:

yyyyMMdd
yyyy-MM-ddThh:mi:ss.mmm

např.

INSERT MyTable (DateField) VALUES ('01/10/2010') -- dd/MM/yyyy not safe
INSERT MyTable (DateField) VALUES ('20101001') -- yyyyMMdd safe

Aktualizace:
Když VYBERETE pole DATETIME (GETDATE(), pole, proměnná....), to, co vidíte v SSMS, je formátovaná hodnota, protože to je to, co je pro vás užitečné, místo toho, aby ukazovalo svou skutečnou interní 8bajtovou reprezentaci .



  1. Upgrade Grid Control po ručním upgradu DB

  2. Oprava „CHYBA:každý dotaz INTERSECT musí mít stejný počet sloupců“ v PostgreSQL

  3. v SQLite

  4. Deset tipů, jak dosáhnout zabezpečení MySQL a MariaDB