由于表里的时间是时间戳
我是这样写的,总感觉不是很好
SELECT * from tb_name where !((from_unixtime(time,'%H')>=20 and from_unixtime(time,'%H')<21 && from_unixtime(time,'%i')<30)||(from_unixtime(time,'%H')>=20 and from_unixtime(time,'%H')<21 && from_unixtime(time,'%i')=30 && from_unixtime(time,'%s')=00))
select * from tb where SUBSTRING(CONVERT(VARCHAR(30),列名,121),CHARINDEX(' ',CONVERT(VARCHAR(30),列名,121),1)+1,LEN(CONVERT(VARCHAR(30),列名,121))) BETWEEN '20:00:00.000' AND '20:30:00.000'