2014-04-22 4 views
1

En essayant d'obtenir la partie date de la colonne date pour comparer deux dates, mais je n'ai pas pu obtenir la partie date directement, j'ai essayé ce Convert(date, getdate()) mais cela ne fonctionne pas avec sql server 2005 car nous sommes en utilisant cela, et quand je l'ai essayé DATEADD(dd, 0, DATEDIFF(dd, 0, GETDATE())) il donne 2008-09-22 00:00:00.000 où je veux une partie date seulement sans temps-à-dire 00, prises à la fois des messages: How to return the date part only from a SQL Server datetime datatypeSélectionnez la partie date uniquement dans le serveur SQL

Qu'est-ce que IHV fait est convert(VARCHAR(10),'2014-04-21 00:00:00.000') et il retourne 2014-04-21 mais il est maintenant en varchar .

Est-il possible que je puisse obtenir la partie date que dans le type de date dans SQL Server 2005.

Merci à l'avance.

+0

voir ma réponse mise à jour. – Jade

+0

C'est très simple, essayez d'utiliser Cast au lieu de convertir, vérifiez mes années. – AK47

Répondre

1

Est-il possible que je puisse obtenir la partie date que dans le type de date dans sql server 2005.

Non, le date type de données a été ajouté dans SQL Server 2008. Le mieux que vous pouvez faire est d'utiliser un datetime avec la partie de temps 00:00:00.

1

Essayez cela, il est pour SQL 2008

select Cast(getdate() as Date) as onlyDate 
0

L'astuce habituelle pour enlever le temps de datetime est de jeter de flotter et de prendre la partie int et de le jeter en arrière à datetime:

declare @d datetime; 
set @d = getdate(); 
select cast(floor(cast(@d as float)) as datetime); 
Questions connexes