一个简单的Sql问题,谢谢你的解答!!!!!
数据表中的字段StarTime为时间类型存储着:2006-11-21 10:27:53.490 。如果想要检索几天之间的数据,可以检索得到,可是当检索这一天的数据时,就一条记录也没有。我不知道为什么?怎么样可以解决呢?
select *
from MST_CONTRACTEMPLOYEE
where STARTTIME between '2006/11/21 ' and '2006/11/25' ---查到数据
select *
from MST_CONTRACTEMPLOYEE
where STARTTIME = '2006/11/21' ---一条数据也没有查到
问题点数:20、回复次数:8Top
1 楼caixia615(*^_^*)‵My ɡīr!.ˊ想念妳ˋ 。(*^_^*)回复于 2006-12-01 13:45:28 得分 0
select *
from MST_CONTRACTEMPLOYEE
where datepart(dd,STARTTIME )= 21 and datepart(month, STARTTIME )=11 and datepart(year, STARTTIME)=2006Top
2 楼coolingpipe(冷箫轻笛)回复于 2006-12-01 13:46:17 得分 0
select *
from MST_CONTRACTEMPLOYEE
where datediff(day,STARTTIME,'2006/11/21') = 0
--或者
select *
from MST_CONTRACTEMPLOYEE
where convert(varchar(10),STARTTIME,111) = '2006/11/21'
Top
3 楼wwfy(我舞飞扬)回复于 2006-12-01 13:47:18 得分 0
不光是日期,小时分钟 也是数据的 ,要一起考虑.
要单独取出日期来判断.Top
4 楼zlp321002(Life Is Good,Let's Shine)回复于 2006-12-01 13:52:01 得分 0
select *
from MST_CONTRACTEMPLOYEE
where datediff(day,convert(varchar(10),STARTTIME,111),'2006/11/21')=0Top
5 楼HU0L0NG(火龙)回复于 2006-12-01 13:58:00 得分 0
select *
from MST_CONTRACTEMPLOYEE
where STARTTIME between '2006-11-21 00:00:00.000' and '2006-11-21 23:59:59.999'Top
6 楼marco08(天道酬勤)回复于 2006-12-03 23:02:22 得分 0
select *
from MST_CONTRACTEMPLOYEE
where STARTTIME>=convert(char(10), getdate(), 120) AND
STARTTIME <convert(char(10), getdate()+1, 120)
--查询一天的数据
Top
7 楼jackiecheng001(想飞,可是没有翅膀)回复于 2006-12-04 09:21:33 得分 0
select '2006-11-21'
查询分析执行下了
看看是多少?
2006-11-21 00:00:00Top
8 楼czphs()回复于 2006-12-07 09:22:52 得分 0
楼上都说了,来晚了Top





