日期不同

时间:2009-11-27 12:38:00

标签: sql-server-2000

如何在sql 2000中找到日期的不同?

例如:我有一个表“日期”。它包含不同的日期,如26-11-2009, 25-11-2009,26-11-2009.'26-11-2009'有两个条目。当我从这个表中选择日期时,我只需要两个条目,如25-11-2009和26-11-2009。< / p>

已编辑的部分:

在'Emplyoee'表中有两个字段 - JoinDate和EmployeeName。

Emplyoee表中包含的所有数据如下:

JoinDate      | EmployeeName
------------------------
02-12-2009   Vijay

03-12-2009   Binoy

03-12-2009   Rahul

我的选择查询如下:

SELECT DISTINCT JoinDate,EmployeeName FROM Emplyoee

我得到的结果如下:

JoinDate   | EmployeeName
------------------------
02-12-2009   Vijay
03-12-2009   Binoy
03-12-2009   Rahul

但我需要的结果如下:

JoinDate   | EmployeeName
------------------------
02-12-2009   Vijay
03-12-2009   Binoy(first employee joined on this date)

4 个答案:

答案 0 :(得分:2)

SELECT DISTINCT DateAdd(dd, DateDiff(dd, 0, MyDateField),0)
FROM MyTable

这将为您提供表格的唯一日期

答案 1 :(得分:0)

SELECT DISTINCT YourDateTimeField
FROM dbo.YourTable

虽然;我猜你想要这样的东西:

SELECT DISTINCT CONVERT(DATETIME, CONVERT(CHAR(10), YourDateTimeField, 101))
FROM dbo.YourTable

如果这是一个大表,或者如果双重转换会显着降低速度,那么您需要寻找其他解决方案

答案 2 :(得分:0)

我不知道你需要什么,我只能猜测你需要从包含时间的日期时间值中提取不同的日期值。

所以你可以试试这个。

SELECT DISTINCT DATEADD(dd,0, DATEDIFF(dd,0,DateVal)) FROM YourTable

答案 3 :(得分:0)

Jim B's answer描述了如何获取每个日期恰好出现一次的列表。

或者您可能需要在表格中只出现一次的日期。你的问题不清楚。

select your_date_field
from your_table
group by your_date_field
having count(1) = 1;