如何在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)
答案 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;