sql >> Databasteknik >  >> RDS >> Sqlserver

SQL Server datumformat funktion

I SQL Server lagras en DATETIME-datatyp som 2 4-byte heltal så som sådan har den inte en speciell formatering som denna.

Om du vill returnera datumet i ett specifikt format måste du KONVERTERA det till VARCHAR med lämplig formatidentifierare specificerad.

Om du har en datetime i en VARCHAR och vill lagra den i ett DATETIME-fält i SQL Server, bör du se till att du skickar det värdet till SQL i ett format som alltid kommer att tolkas säkert. t.ex. dd/mm/ÅÅÅÅ-formatet är inte säkert eftersom det beroende på inställningarna kan behandlas som mm/dd/åååå när det går in. Säkra format är:

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

t.ex.

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

Uppdatering:
När du VÄLJER ett DATETIME-fält (GETDATE(), fält, variabel...) är det du ser i SSMS ett formaterat värde eftersom det är det som är användbart för dig, istället för att det visar den faktiska interna 8byte-representationen .



  1. Oracle 10g accepterar 5-siffrigt år i ett datum

  2. Bästa sättet att köra Oracle-frågor regelbundet

  3. När DISTINCT <> GROUP BY

  4. MySQL LEAST() Funktion – Hitta det minsta argumentet i en lista med argument