sql >> Database >  >> RDS >> Sqlserver

Datum zonder de tijd

In versies <2008 (die, op basis van andere opmerkingen bij sommige van de antwoorden, ik denk dat u deze gebruikt), is de meest efficiënte manier om het als een datetime-type te behouden en datumberekeningen te gebruiken om stringconversies te voorkomen.

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

BEWERKEN

Als u de datum alleen voor weergavedoeleinden wilt, niet voor berekeningen of groepering, dan kunt u dat waarschijnlijk het beste bij de klant regelen. Je kunt het in SQL doen door simpelweg te zeggen:

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


  1. Krijg het wortelpad van een boom met pure MySQL

  2. LIMIT doorgeven als parameters aan MySQL sproc

  3. Dubbele opeenvolgende records filteren in een SELECT

  4. Geneste transacties gebruiken in Oracle