mysql中,我有一个表,有一个列,列的值有1-3年本科,有1-3年大专,有经验不限学历不限,我想把这一列的值变成1-3年或者经验不限,分割出来的本科或者大专或者学历不限另外形成一个列,怎么操作
时间: 2024-03-04 18:49:15 浏览: 10
你可以使用MySQL的字符串函数来操作这个表的列。你可以使用SUBSTRING_INDEX函数来分割字符串,使用CASE语句来创建一个新的列。
下面是一个例子,假设你的表名为`job_applicants`,列名为`education`:
```sql
SELECT
education,
CASE
WHEN education LIKE '%本科%' THEN SUBSTRING_INDEX(education, '本科', 1) + '本科'
WHEN education LIKE '%大专%' THEN SUBSTRING_INDEX(education, '大专', 1) + '大专'
ELSE '学历不限'
END AS education_level,
CASE
WHEN education LIKE '%经验不限%' THEN '经验不限'
ELSE SUBSTRING_INDEX(SUBSTRING_INDEX(education, '年', 1), '-', -1) + '年'
END AS experience
FROM job_applicants;
```
这将返回一个包含`education`、`education_level`和`experience`列的查询结果,其中`education_level`和`experience`是根据`education`列计算出来的。
注意,这个例子假设每个值都包含"本科"、"大专"、"经验不限"和"年"这些关键字,并且没有其他的格式。如果你的实际数据格式不同,你需要相应地修改这个例子。