一个sql问题在线等

ywz1982 2008-02-02 11:53:18
"select * from 人工数据 where inputDate = #" + date + "# and HeadTime >= #" + beginTime + "# and TailTime <= #" + endTime +"# order by HeadTime";

以上的sql,我想在inputDate这个字段单比较datetime的前面的年月日,而后面的两个字段只比较具体时间,不比较年月日,怎么做?
...全文
96 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ywz1982 2008-02-02
  • 打赏
  • 举报
回复
我是access
lake_cx 2008-02-02
  • 打赏
  • 举报
回复
看什么数据库,有函数可以用
如Year(inputDate),Month(inputDate),Date(inputDate),楼主看着办
llsus 2008-02-02
  • 打赏
  • 举报
回复
你看你数据库字段中的inputdate和Headtime是什么类型,如果是字符型就比较方便,如果是日期类型就比较麻烦,你有这种需求,就应该在建库的时候把日期和时间单独存放,例如我通常会在数据库中放三个事件字段,日期时间,日期,时间,这样想怎么比较就怎么比较。
csharp_start 2008-02-02
  • 打赏
  • 举报
回复
类似转换成convert(varchar(30),getdate(),112)后比较,
conan304 2008-02-02
  • 打赏
  • 举报
回复
不懂ACCESS
看看SQL:
select convert(char(10),getdate(),120) '年月日'
select convert(varchar,getdate(),114) '时分秒毫秒'
/*
年月日
----------
2008-02-02

(所影响的行数为 1 行)

时分秒毫秒
------------------------------
14:18:05:810

(所影响的行数为 1 行)

*/
jdzfjfhnui 2008-02-02
  • 打赏
  • 举报
回复
顶,路过
pwroselove 2008-02-02
  • 打赏
  • 举报
回复
"DECLARE @tdate varchar(30)
DECLARE @stime varchar(30)
DECLARE @etime varchar(30)
@tdate=#" + date + "#
@stime=#" + beginTime + "#
@etime=#" + endTime + "#

select * from 人工数据 where inputDate = convert(varchar(30),@tdate,105) and HeadTime > = convert(varchar(30),@stime,108) and TailTime <= convert(varchar(30),@tdate,108) order by HeadTime";

convert(varchar(30),@tdate,105)="21-06-2006"
convert(varchar(30),@tdate,104)="21.06.2006"
convert(varchar(30),@tdate,103)="21/06/2006
"
lake_cx 2008-02-02
  • 打赏
  • 举报
回复
不清楚楼主的意思

DateTime 类型
dateTime.ToString(格式化参数)//想变什么样都可以,只要日期也行,只要时间也行
dateTime.Date//只剩下日期

数据库里面
Date(字段)//返回字段的日期部分
Time(字段)//返回字段的时间部分
类似,年、月、日、小时、分、秒都可以得到

想怎么比较都可以

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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