In SQL Server wordt een DATETIME-gegevenstype opgeslagen als 2 gehele getallen van 4 bytes, dus als zodanig heeft het geen bepaalde opmaak zoals deze.
Als u de datum in een specifiek formaat wilt retourneren, moet u deze CONVERTEREN naar VARCHAR met de juiste formaat-ID gespecificeerd.
Als je een datetime hebt in een VARCHAR en die wilt opslaan in een DATETIME-veld in SQL Server, dan moet je ervoor zorgen dat je die waarde doorgeeft aan SQL in een formaat dat altijd veilig geïnterpreteerd zal worden. bijv. De indeling dd/mm/JJJJ is niet veilig, omdat het, afhankelijk van de instellingen, kan worden behandeld als mm/dd/jjjj wanneer het wordt ingevoerd. Veilige indelingen zijn:
yyyyMMdd
yyyy-MM-ddThh:mi:ss.mmm
bijv.
INSERT MyTable (DateField) VALUES ('01/10/2010') -- dd/MM/yyyy not safe
INSERT MyTable (DateField) VALUES ('20101001') -- yyyyMMdd safe
Bijwerken:
Wanneer u een DATETIME-veld SELECTEERT (GETDATE(), veld, variabele....), ziet u in SSMS een opgemaakte waarde, omdat dit nuttig voor u is, in plaats van dat het de werkelijke interne 8byte-weergave toont .