sql >> Databáze >  >> RDS >> Sqlserver

Datum bez času

Ve verzích <2008 (o kterých se na základě dalších komentářů k některým odpovědím domnívám, že je používáte), je nejúčinnějším způsobem ponechat jej jako typ datum a čas a použít matematický výpočet data, abyste se vyhnuli převodu řetězců.

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

UPRAVIT

Pokud chcete datum pouze pro účely zobrazení, nikoli pro výpočty nebo seskupování, je pravděpodobně nejlepší to vyřešit u klienta. Můžete to udělat v SQL jednoduše tak, že řeknete:

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


  1. Příkazy MySQL CASE...WHERE...THEN

  2. mysql, kde řetězec končí čísly

  3. Funkce LTRIM() v Oracle

  4. SQL:Vyberte poslední sekvenčně odlišnou hodnotu se seskupením