sqlserver 数据库查询一个时间段根据年月日三个字段,注意是三个字段

2024-11-22 03:19:01
推荐回答(3个)
回答1:

我刚写了一个MySQL的类似sql查询。

1、将年、月、日和小时组合成一个字符串

2、月日时如果不是两位,在前面补0

3、将字符和判断区间的字符串值进行比较

select * from 表   where CONCAT(vyear
,LPAD(vmonth
,2,0),LPAD(vday,2,0),LPAD(Hour,2,0)) >= '2017081000' and CONCAT(vyear,LPAD(vmonth,2,0),LPAD(vday,2,0),LPAD(Hour,2,0)) <= '2017081023'

回答2:

3个字段是字符型还是数值?把3个字段拼成date或datetime型,再与时间段比较。

回答3:

select xxx from tbl where (vyear=2016 and vmonth>=7) or (vyear=2017 and vmonth<5)