Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Data bez czasu

W wersjach <2008 (które, na podstawie innych komentarzy do niektórych odpowiedzi, uważam, że używasz), najskuteczniejszym sposobem jest zachowanie go jako typu daty i godziny i użycie matematyki dat, aby uniknąć konwersji ciągów.

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

EDYTUJ

Jeśli chcesz, aby data była tylko do celów wyświetlania, a nie do obliczeń lub grupowania, prawdopodobnie najlepiej jest to zrobić u klienta. Możesz to zrobić w SQL, po prostu mówiąc:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak mogę pobrać tabelę z procedury składowanej do tabeli danych?

  2. SQL Server 2005 Jak wyczyścić plan wykonywania zapytań

  3. SQL DELETE z INNER JOIN

  4. Co to jest kolumna wyliczana w programie SQL Server?

  5. Trzy łatwe wygrane w zakresie wydajności serwera SQL