【MySQL】字符串截取之substring_index
substring_index(str,delim,count)
str:要处理的字符串
delim:分隔符
count:计数
元数据:

我需要得到 "-" 之后的数据, 也就是3800
SQL:
SELECT
job_id,
REPLACE(REPLACE(REPLACE(REPLACE(
IFNULL(
CASE WHEN j.salary LIKE "%–%" THEN SUBSTRING_INDEX(j.salary,'–',-1)
WHEN j.salary LIKE "%-%" THEN SUBSTRING_INDEX(j.salary,'-',-1)
WHEN j.salary LIKE "%_%" THEN SUBSTRING_INDEX(j.salary,'_',-1)
END
,0),'',0) ,'\n','') ,'\t','') ,'\r','')
FROM(
select create_time,modified_time,job_id,company_name,company_code,job_name,salary,province,city,comp_tea_name,end_time,apply_state,category,company_type_value,trade_value,is_major_right,is_auto,plan_id,student_id,is_deleted from gxy_job_0
) as j
WHERE
j.is_deleted = 0 and job_id = "cdad7f3cb21f7e7098ba613c26ac1891"
结果:

如果得到之前的3600就是把 -1 换为 1
解释:
-1 代表 第1次出现这个符号之后的数据
1 代表第1次出现这个符号之前的数据
-2 代表第二次出现这个符号之前的数据
以此类推
5499

被折叠的 条评论
为什么被折叠?



