```sql
select A.*,B.*
from A
inner join B on A.didian=b.didian
where substr(A.riqi,8,2) - substr(B.riqi,8,2) <=1
and substr(A.riqi,8,2) - substr(B.riqi,8,2) >0;
有三条,第二条也是的,我用hive操作的,hive和sparkSQL差不多,不想用substr,使用split(字段,'\\.')[2] 结果也是一样的

select A表.*,B表.* from A表
inner join B表
on A表.didian = B表.didian
where
(select dateDiff(A表.riqi,B表.riqi) )> 1 and A表.riqi > B表.riqi
关于datediff我也遇到过,希望对你有帮助https://blog.csdn.net/weixin_43387909/article/details/121858429?spm=1001.2014.3001.5501
vertica 的日期差可以用以下语句:
select A.*,B.* from A left join B on A.didian=B.didian where DATEDIFF(day, B.riqi, A.riqi)<=0