目前薪资单位出现的有
千/月
万/月
万/年
比如1-1.2万/年
5-8千/月
1.2-1.8万/月
怎么用substring_index函数分别提取每个单位的两个数字呢,比如1 1.2 5 8 1.2 1.8
基本思路就是:
1、先截取掉单位并将结果保存到临时表;
2、通过substring_index按中划线切割得到数字
字符串我是用变量临时存储的,改成里表中的字段名即可
set @var="1-1.2万/年";
set @var="5-8千/月";
set @var="1.2-1.8万/月";
select substring_index(sal,"-",1) as first, substring_index(sal,"-",-1) as second from
(select left(@var,LENGTH(@var) - 5) as sal) AS t_a;
执行结果:
有帮助的话,请点采纳该答案~
【以下回答由 GPT 生成】
解决方案:
我们可以使用MySQL的substring_index函数来提取薪资单位中的数字。该函数返回一个字符串中指定分隔符之前或之后的子字符串。
步骤如下:
SELECT
SUBSTRING_INDEX(SUBSTRING_INDEX(salary, '-', -1), '万', 1) AS salary_min,
SUBSTRING_INDEX(SUBSTRING_INDEX(salary, '-', 1), '万', -1) AS salary_max
FROM salary;
以上代码可以将薪资单位中的数字提取出来并分别存储在salary_min和salary_max列中。你可以根据需要进一步进行处理或分析这些数据。
补充说明:
如果薪资单位不仅仅是'万',还包括其他字符,你可以将SUBSTRING_INDEX函数的分隔符参数修改为其他字符,例如'/'、'-'等。
如果你发现substring_index函数提取的数字不正确,可能是因为薪资数据的格式不统一,你需要根据实际情况酌情修改提取的逻辑。
如果以上解决方案不能满足你的需求,请提供更详细的薪资数据格式,我将尽力提供更适合的解决方案。
【相关推荐】