现有一个表table_12
表结构:
——————————————————————————————————————————
字段名 类型
id int(自增)
name nvarchar(50)
b_time datetime
e_time datetime
————————————————————————————————————————————记录:
——————————————————————————————————————————————————
id name b_time e_time
1 n_n1 10:30:00 12:30:00
2 n_n2 18:30:00 20:40:00
... ... ... ...
sql检索条件要满足以本地机时间为准,并在b_time和e_time范围内就让记录显出来,也就b_time<=now()<=e_time虽数定数据库的程序也写得很多了,但唯独这种情况是第一次遇到。特在此请教了。
表结构:
——————————————————————————————————————————
字段名 类型
id int(自增)
name nvarchar(50)
b_time datetime
e_time datetime
————————————————————————————————————————————记录:
——————————————————————————————————————————————————
id name b_time e_time
1 n_n1 10:30:00 12:30:00
2 n_n2 18:30:00 20:40:00
... ... ... ...
sql检索条件要满足以本地机时间为准,并在b_time和e_time范围内就让记录显出来,也就b_time<=now()<=e_time虽数定数据库的程序也写得很多了,但唯独这种情况是第一次遇到。特在此请教了。
where getdate() between convert(char(11),getdate(),120)+b_time and convert(char(11),getdate(),120)+e_time
在执行前显示sqlp看一下就清楚了
id name b_time e_time
1 n_n1 9:00:00 12:30:00
2 n_n2 9:30:00 20:40:00
where
getdate() between
convert(datetime,convert(char(11), getdate(), 120)+' ' + b_time)
and
convert(datetime,convert(char(11), getdate(), 120)+' ' + e_time)