请问一条sql语句的写法。

naxiahucao 2008-10-09 04:58:21
我所操作的表为table1,里面有一个时间属性time(数据类型为datatime ,长度为8),在数据库中的显示类似于2007-12-20 11:06:24 ,请问我想搜索某一时间段的信息,应当如何来写sql语句呢?时间段用两个CTime类型(VC中)参数m_time1,m_time2界定。
...全文
93 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
等不到来世 2008-10-09
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 naxiahucao 的回复:]
你提到转换类型,请问应该转换成什么类型啊?
如下是我在程序中的写法,但是有问题。
CString strSql;
strSql.Format("select * from table where XXCJSJ >= '%s' and XXCJSJ <= '%s'",m_time1, m_time2);
[/Quote]
你debug一下,把strSql的内容拷到查询分析器里去执行看看。
RPFly 2008-10-09
  • 打赏
  • 举报
回复
select *
from table1
where datediff(datepart , convert(datetime,m_time1,120)>0 And datediff(datepart , convert(datetime,m_time2,120)<0

datepart 看你精确到那个时间段,参数如下:

Day --dd, d
Week --wk, ww
Hour --hh
minute --mi, n
second --ss, s
millisecond --ms
naxiahucao 2008-10-09
  • 打赏
  • 举报
回复
你提到转换类型,请问应该转换成什么类型啊?
如下是我在程序中的写法,但是有问题。
CString strSql;
strSql.Format("select * from table where XXCJSJ >= '%s' and XXCJSJ <= '%s'",m_time1, m_time2);
huhuapop 2008-10-09
  • 打赏
  • 举报
回复
declare @StartTime datetime
declare @EndTime datetime
set @Starttime ='2008-1-1 00:00:00'
set @EndTime ='2008-9-9 00:00:00'
select *
from table1
where time between @StartTime and @EndTime
水族杰纶 2008-10-09
  • 打赏
  • 举报
回复
select * from table1 where convert(varchar(10),[time],120) between '' and '' 
等不到来世 2008-10-09
  • 打赏
  • 举报
回复

declare @m_time1 datetime,@m_time2 datetime
select * from table1
where [time] between @m_time1 and @m_time2
liangCK 2008-10-09
  • 打赏
  • 举报
回复
SELECT *
FROM tb
WHERE [time] BETWEEN 时间1 AND 时间2
chuifengde 2008-10-09
  • 打赏
  • 举报
回复
都转成同样的格式再用 where [Time] between m_time1 and m_time2

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧