SQL查询即将合同即将到期的员工
生活随笔
收集整理的這篇文章主要介紹了
SQL查询即将合同即将到期的员工
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
在項(xiàng)目開發(fā)過程中,我們經(jīng)常需要查詢某些即將到期的資源信息,并給相關(guān)的人通過郵件等形式進(jìn)行提醒。這類需求非常普遍,今天寫了一個(gè)Demo,能夠代表這類問題的解決方案,結(jié)合輪詢機(jī)制,能夠很好滴解決此類問題。
1.創(chuàng)建數(shù)據(jù)
ps:這里涉及到了表變量及Union All語法,不明白的請自行腦補(bǔ)!
傳送門:
1.表變量
http://database.51cto.com/art/201011/233290.htm
2.Union 和 Union All
http://www.w3school.com.cn/sql/sql_union.asp
--Insert test records INSERT INTO @Employees SELECT 'Ryan', '1972-06-01' UNION ALL SELECT 'James', '1985-06-02' UNION ALL SELECT 'Jasson', '1983-06-03' UNION ALL SELECT 'Tara', '1991-06-04' UNION ALL SELECT 'William', '1992-06-05' UNION ALL SELECT 'Judy', '1989-06-06' UNION ALL SELECT 'Justin', '1989-06-07';
2.設(shè)置間隔日期
--Variable to provide required number of days DECLARE @IntervalDays INT; SET @IntervalDays = 3;
3.查詢結(jié)果
SELECT * FROM @Employees WHERE DATEADD( Year, DATEPART( Year, GETDATE()) - DATEPART( Year, ExpiredDate), ExpiredDate)BETWEEN CONVERT( DATE, GETDATE()) AND CONVERT( DATE, GETDATE() + @IntervalDays);
4.通常都是查詢一周內(nèi)即將到期的,我們可以使用如下sql
SELECT * FROM @Employees WHERE DATEPART( Week, DATEADD( Year, DATEPART( Year, GETDATE()) - DATEPART( Year, ExpiredDate), ExpiredDate))= DATEPART( Week, GETDATE());
第一種和第二種sql查詢結(jié)果如下:
總結(jié)
以上是生活随笔為你收集整理的SQL查询即将合同即将到期的员工的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 集合(list、set、map)的简单升
- 下一篇: linux cmake编译源码,linu