实际年龄,工龄,一定时间内过生日计算,生成日期列表
来源:互联网 发布:曲率引擎 知乎 编辑:程序博客网 时间:2024/04/28 16:18
select DATEDIFF(year,'1981-09-11',getdate())
- case when
DATEADD(year,datediff(year,'1981-09-11',getdate()),'1981-09-11') > GETDATE()
then 1 else 0 end
/*计算工龄*/
select DATEDIFF(month,'2010-03-10',getdate())
- case when DATEADD(month,datediff(month,'2010-03-10',GETDATE()),'2010-03-10') > GETDATE()
then 1 else 0 end
declare @t Table(id int,name varchar(10),birthday datetime)
insert @t select 1,'aa','1999-01-01'
union all select 2,'bb','1996-02-29'
union all select 3,'cc','1934-03-01'
union all select 4,'dd','1966-04-01'
union all select 5,'ee','1997-05-01'
union all select 6,'ff','1922-11-21'
union all select 7,'gg','1989-12-11'
declare @dt1 datetime,@dt2 datetime
select @dt1 = '2003-12-05',@dt2 = '2004-02-28'
select * from @t
where DATEADD(year,datediff(year,birthday,@dt1),birthday) between @dt1 and @dt2
or DATEADD(year,datediff(year,birthday,@dt2),birthday) between @dt1 and @dt2
set @dt2 = '2006-02-28'
select * from @t
where DATEADD(year,datediff(year,birthday,@dt1),birthday) between @dt1 and @dt2
or DATEADD(year,datediff(year,birthday,@dt2),birthday) between @dt1 and @dt2
if exists(select * from sysobjects where id = OBJECT_ID(N'[dbo].[f_getdate]') and xtype in (N'FN',N'IF',N'TF'))
drop function [dbo].[f_getdate]
go
/*--生成日期列表
生成指定年份的工作日/休息日列表
--查询 2003 年的工作日列表
SELECT * FROM dbo.f_getdate(2003,0)
--查询 2003 年的休息日列表
SELECT * FROM dbo.f_getdate(2003,1)
--查询 2003 年全部日期列表
SELECT * FROM dbo.f_getdate(2003,NULL)
--*/
create function dbo.f_getdate(
@year int,
@bz bit
)returns @re table(id int identity(1,1),Date datetime,Weekday nvarchar(13))
as
begin
declare @tb table(id int identity(0,1),Date datetime)
insert into @tb(Date) select top 366 DATEADD(year,@year-1900,'1900-1-1')
from sysobjects a, sysobjects b
update @tb set Date = DATEADD(day,id,Date)
delete from @tb where Date > DATEADD(year,@year - 1900,'1900-12-31')
if @bz = 0
insert into @re(Date ,Weekday)
select Date,DATENAME(Weekday,Date) from @tb
where (DATEPART(Weekday,Date) + @@DATEFIRST - 1) % 7 between 1 and 5
else if @bz = 1
insert into @re(Date,Weekday)
select Date,DATENAME(Weekday,Date) from @tb
where (DATEPART(Weekday,Date) + @@DATEFIRST - 1) % 7 in (0,6)
else
insert into @re(Date,Weekday)
select Date,DATENAME(Weekday,Date) from @tb
return
end
go
select * from f_getdate(2013,null)
- 实际年龄,工龄,一定时间内过生日计算,生成日期列表
- PHP按照生日日期计算当前的实际年龄
- //根据日期计算年龄
- 工龄计算
- javascript根据日期计算年龄
- 根据日期精确计算年龄
- android根据日期计算年龄
- C# 返回一定时间内数据库存取过的文件名列表
- 如何获取一段时间内的日期列表
- NYOJ 312 && HDU 1201 过生日(日期计算)
- 实际年龄
- SQL 根据日期精确计算年龄
- 根据当前日期,计算一个人的年龄
- SQL 根据日期精确计算年龄
- 根据datetimepicker选择的日期计算年龄
- 应用系统常用到的工龄计算有感来的SQL日期函数研究
- MSSQL生成日期列表
- 函数:生成日期列表
- 未来智能家居 联网大势所趋
- 判断客户端是否禁用javascript、cookie
- asp.net后台代码动态引用添加JS和css文件
- Nginx负载均衡
- 备忘
- 实际年龄,工龄,一定时间内过生日计算,生成日期列表
- javascript 省份城市地区三级联动菜单
- 基于Android的视频监控系统设计与实现
- XStream两分钟教程
- php利用root权限执行shell脚本
- 使用ANSI/Unicode 通用数据类型
- 当今安卓手机市场上,手机型号和系统型号统计
- 八皇后的python实现
- ISTQB FL初级认证考试说明