sql >> Databasteknik >  >> RDS >> Sqlserver

Datum utan tid

I versioner <2008 (som, baserat på andra kommentarer till några av svaren, jag tror att du kör), är det mest effektiva sättet att behålla den som en datum-tid-typ och använda datummatematik för att undvika strängkonverteringar.

SELECT DATEADD(DAY, DATEDIFF(DAY, '20000101', purchase_time), '20000101') 
  FROM dbo.table;

REDIGERA

Om du bara vill ha datumet i visningssyfte, inte för beräkningar eller gruppering, är det förmodligen bäst att hantera hos kunden. Du kan göra det i SQL genom att helt enkelt säga:

SELECT dt = CONVERT(CHAR(10), purchase_time, 120)
  FROM dbo.table;


  1. Finns det något sätt att använda FORALL för att infoga data från en array?

  2. Skriver över data i en MySQL-tabell

  3. PostgreSQL:Hur implementerar man minimikardinalitet?

  4. hur använder man Oracles regexp_like i Hibernate HQL?