重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
UPDATE
十余年的苏家屯网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整苏家屯建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联建站从事“苏家屯网站设计”,“苏家屯网站推广”以来,每个客户项目都认真落实执行。
`表名`
SET
`参加工作`
=
(SELECT
DATE_ADD(Birthday,
INTERVAL
`WorkYear`
YEAR));
会把所有的
`参加工作时间`
列修改为
Birthday
+
WorkYear
DATE_ADD函数使用说明: DATE_ADD(date,
INTERVAL
expr
type);
第一个参数date,可以是date类型或者datetime类型;
第二个参数INTERVAL
expr
type;INTERVAL
是指明相加的间隔,
expr是表达式,间隔的值,可以为列名,如
`WorkYear`;type是指定那部分相加,如
YEAR,只相加YEAR部分,其它不变,可以为其它类型如:DAY_HOUR,MINUTE_SECOND
。
select * from 表 where 这是必须的
year,month,dayofyear是mysql的函数,分别是取得年,月,和当前时间在本年是第几天的3个函数
date就是你保存时间的字段
等号后面的当然条件啦。
是10年还是10年以上?
还有,你这样曝光别人的信息真的好吗?
这个是10年和10年以上基本工资加1000的:
UPDATE `salary` SET JIB_IN = JIB_IN + 1000 WHERE E_ID IN (SELECT E_ID FROM `employees` WHERE Gz_time = DATE_SUB(CURDATE(), INTERVAL 10 YEAR))
我假定你的入职日期字段格式为date,并且字段名为 t_date,那么下面这条语句可能可以满足你的要求.
select * from( SELECT year(now())-year(t_date) as t_year FROM `test_t` where year(t_date) 1990 ) as tmp_data where t_year 10
====================
说明一下思路:
子查询计算出入职的年数,并将结果添加字段别名t_year,这个语句只select了t_date字段,其他字段请按需要添加.
SELECT year(now())-year(t_date) as t_year FROM `test_t` where year(t_date) 1990
然后使用另一条查询来得到大于10年的职工.
select * from (子查询语句) as temp_data where t_year10
年限那个你应该会吧
本科那个呢 我有一个想法 你可以试一下但不一定是最好的解决方式
select * from (
select case when 学历='专科' then 0 when 学历='本科' then 1
when 学历='研究生' then 2 end as xl from table
) tem where xl = 1
这个呢是把 学历 转换成对应的 数字 专科 0 本科 1 研究生2 再用一个select * 括起来
这样就是一个完整的结果的集 再通过条件筛选即可
补充
条件中用in ('本科','研究生') 要省事一些。
这个需要你mysql数据库为utf8格式,浏览器或者网页设置为utf-8格式,不用在这三个管理工具中单独设置数据库字符集为gb2312。如果你这两个地方都设置正确了。
自然会正确录入和显示中文。