数据库: twt001
数据表: tiqu60
我想查询出以现在的当前月为准,截至上月份,男满60周岁,女满55周岁以的人
比如第1条记录,身份证中的出生年月为195411,以现在的时间2014年12月为准,截至上月正好60周岁,则满足查询条件,而第二条记录不是我们想要的,则只在有下月的时候才能查询出来。同样满足55周岁的女性还有第四条记录),如何写查询查出第一条和第三条这样的记录呢?
以下是查询语句:
use twt001
select * from tiqu60
SELECT * FROM tiqu60
WHERE (SUBSTRING(sfzhm,7,6)=substring((CONVERT(VARCHAR(10),DATEADD(yy,-60,GETDATE()),112)),1,6) AND xb='男') OR
(SUBSTRING(sfzhm,7,6)=substring((CONVERT(VARCHAR(10),DATEADD(yy,-55,GETDATE()),112)),1,6) AND xb='女')
运行结果如下:
<