Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Дата без час

Във версии <2008 (които, въз основа на други коментари към някои от отговорите, смятам, че изпълнявате), най-ефективният начин е да го запазите като тип дата и час и да използвате математика за дата, за да избегнете преобразуване на низове.

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

РЕДАКТИРАНЕ

Ако искате датата само за целите на показване, а не за изчисления или групиране, вероятно е най-добре да се справите с това при клиента. Можете да го направите в SQL просто като кажете:

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. Е функция с таблична стойност, която може да се актуализира

  2. Изглед на SQL Server, показващ остарели/грешни данни след промяна на основните зависимости

  3. Връща стойност на максимална дата за определен идентификатор с null като максимална стойност в t-sql

  4. Какво заключва | комуникационните буферни ресурси означават?

  5. използвайте избраните от sql стойности като имена на редове за друг избор