Question
Comment trouver une date distincte dans SQL 2000?
Par exemple: j'ai un tableau "Dates". Il contient des dates différentes comme 26-11-2009, 25-11-2009,26-11-2009. '26-11-2009' comporte deux entrées. Lorsque je sélectionne une date dans ce tableau, je n'ai besoin que de deux entrées telles que 25-11-2009 et 26-11-2009.
Section modifiée:
La table 'Emplyoee' contient deux champs, JoinDate et EmployeeName.
Toutes les données contenues dans le tableau Emplyoee sont les suivantes:
JoinDate | EmployeeName
------------------------
02-12-2009 Vijay
03-12-2009 Binoy
03-12-2009 Rahul
Ma requête sélectionnée est la suivante:
SELECT DISTINCT JoinDate,EmployeeName FROM Emplyoee
Le résultat est le suivant:
JoinDate | EmployeeName
------------------------
02-12-2009 Vijay
03-12-2009 Binoy
03-12-2009 Rahul
Mais j'ai besoin du résultat comme suit:
JoinDate | EmployeeName
------------------------
02-12-2009 Vijay
03-12-2009 Binoy(first employee joined on this date)
La solution
SELECT DISTINCT DateAdd(dd, DateDiff(dd, 0, MyDateField),0)
FROM MyTable
Cela vous donnera les dates uniques pour votre table
Autres conseils
SELECT DISTINCT YourDateTimeField
FROM dbo.VotreTable
well; Je suppose que vous voulez quelque chose comme ça:
SELECT DISTINCT CONVERT (DATETIME, CONVERT (CHAR (10), YourDateTimeField, 101))
FROM dbo.VotreTable
S'il s'agit d'une table volumineuse ou si la double conversion ralentit considérablement le processus, vous devez rechercher une autre solution
N'ayant aucune idée de ce dont vous avez exactement besoin, je ne peux que deviner que vous avez besoin des valeurs de date distinctes d'un fichier contenant des valeurs datetime contenant des heures.
Vous pouvez donc essayer ceci.
SELECT DISTINCT DATEADD(dd,0, DATEDIFF(dd,0,DateVal)) FROM YourTable
La réponse de Jim B décrit comment obtenir une liste indiquant chaque date à une seule fois.
Ou peut-être avez-vous besoin de dates qui apparaissent une seule fois dans votre tableau. Votre question n'est pas claire.
select your_date_field
from your_table
group by your_date_field
having count(1) = 1;