A DateTime
je DateTime
je DateTime
- při uložení na SQL Server "nemá" žádný (řetězcově orientovaný) formát (je uložen jako 64bitový). Pokud předáte parametr do uložené procedury jako DateTime
už bys měl být v pohodě! Hodnota bude uložena serverem SQL bez změna jakéhokoli formátování - protože s ním není spojeno žádné formátování...
Jediný bod reprezentuje datum v daném řetězcovém formátu je, když se na něj podíváte v SQL Server Management Studio, nebo když jej převedete do formátu řetězce v např. vaší aplikaci .NET.
Když potřebujete nějakým způsobem předat reprezentaci řetězce do SQL Serveru (např. pro vyhledávání atd.), ten, který je nejrobustnější a bude fungovat s jakýmkoli regionální/jazykové nastavení je ISO-8601 formát data:YYYYMMDD
nebo alternativně (pokud potřebujete časovou část) YYYY-MM-DDTHH:MM:SS
(kde T
uprostřed je doslovný text oddělující části data a času)