根据入职日期及学历情况自动计算转正日期。学历是本科及以下的,转正时间为6个月,学历是本科以上硕士以下的,转正时间为4个月,学历是硕士及以上的,转正时间为2个月。
表AA 入职日期是 A1 学历字段是A2(硕士,本科 ,大专,中专 高中,初中一下,null) 员工编号A3 员工姓名 A4
显示如下
员工编号、员工姓名、入职日期、学历、试用期限、转正日期
sql 查询计算的问题
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
关注 【温馨提示:若能帮到您,望给个采纳该答案,谢谢】
1、效果如下
使用case when方式2、语句如下
/* create table AA( A3 int, --员工编号 A1 datetime, --入职日期 A2 varchar(50), --学历字段(硕士、本科、大专、中专 高中、初中以下、null A4 varchar(50) --员工姓名 ) insert into AA(A3,A1,A2,A4) values(1,'2022-03-01','大专','张三') insert into AA(A3,A1,A2,A4) values(2,'2022-02-18','硕士','李四') insert into AA(A3,A1,A2,A4) values(3,'2022-03-10','本科','王五') insert into AA(A3,A1,A2,A4) values(4,'2022-01-23','中专 高中','六六') insert into AA(A3,A1,A2,A4) values(5,'2022-03-20','初中以下','七七') insert into AA(A3,A1,A2,A4) values(6,'2022-03-20',NULL,'九九') */ /* 学历是本科及以下的,转正时间为6个月, 学历是本科以上硕士以下的,转正时间为4个月, 学历是硕士及以上的,转正时间为2个月 */ --使用case when方式,以及学历使用编码代替 select A3 as '员工编号', A4 as '员工姓名', A2 as '学历', A1 as '入职时间', ( case when A2='大专' or (A2='中专 高中' or A2='初中以下' or A2 is null) then '6个月' when A2='本科' then '4个月' when A2='硕士' then '2个月' end ) as '试用期限', ( case when A2='大专' or (A2='中专 高中' or A2='初中以下' or A2 is null) then dateadd(month,6,A1) when A2='本科' then dateadd(month,4,A1) when A2='硕士' then dateadd(month,2,A1) end ) as '转正日期' from AA
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 求帮我调试一下freefem代码
- ¥15 matlab代码解决,怎么运行
- ¥15 R语言Rstudio突然无法启动
- ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
- ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
- ¥15 用windows做服务的同志有吗
- ¥60 求一个简单的网页(标签-安全|关键词-上传)
- ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
- ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
- ¥100 为什么这个恒流源电路不能恒流?