一个sql问题在线等
"select * from 人工数据 where inputDate = #" + date + "# and HeadTime >= #" + beginTime + "# and TailTime <= #" + endTime +"# order by HeadTime";以上的sql,我想在inputDate这个字段单比较datetime的前面的年月日,而后面的两个字段只比较具体时间,不比较年月日,怎么做? --------------------编程问答-------------------- 类似转换成convert(varchar(30),getdate(),112)后比较, --------------------编程问答-------------------- 你看你数据库字段中的inputdate和Headtime是什么类型,如果是字符型就比较方便,如果是日期类型就比较麻烦,你有这种需求,就应该在建库的时候把日期和时间单独存放,例如我通常会在数据库中放三个事件字段,日期时间,日期,时间,这样想怎么比较就怎么比较。 --------------------编程问答-------------------- 看什么数据库,有函数可以用
如Year(inputDate),Month(inputDate),Date(inputDate),楼主看着办 --------------------编程问答-------------------- 我是access --------------------编程问答-------------------- 不清楚楼主的意思
DateTime 类型
dateTime.ToString(格式化参数)//想变什么样都可以,只要日期也行,只要时间也行
dateTime.Date//只剩下日期
数据库里面
Date(字段)//返回字段的日期部分
Time(字段)//返回字段的时间部分
类似,年、月、日、小时、分、秒都可以得到
想怎么比较都可以 --------------------编程问答-------------------- "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
" --------------------编程问答-------------------- 顶,路过 --------------------编程问答-------------------- 不懂ACCESS
看看SQL:
select convert(char(10),getdate(),120) '年月日'
select convert(varchar,getdate(),114) '时分秒毫秒'
/*
年月日
----------
2008-02-02
(所影响的行数为 1 行)
时分秒毫秒
------------------------------
14:18:05:810
(所影响的行数为 1 行)
*/
补充:.NET技术 , C#