sql >> Database >  >> RDS >> Sqlserver

Functie voor datumnotatie in SQL Server

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 .



  1. Automatische failover instellen voor de Moodle MySQL-database

  2. Wat zijn de bekende manieren om een ​​boomstructuur op te slaan in een relationele DB?

  3. SQL:rijen selecteren waar de kolomwaarde is gewijzigd ten opzichte van de vorige rij

  4. Hoe Oracle MD5 hash-functie aan te roepen?