Return 字符串的一部分

Return section of a string

假设我有这样的值:

Z00056ABC00044

我想知道 ABC 之前的值是什么 所以我的查询应该只 return:

Z00056

我尝试创建一个函数:

if CHARINDEX('ABC',@mainString) > 0
begin
    --do something
end

但是我不确定如何获取ABC之前的值

试试这个:

SELECT LEFT(@MyValue, (LEN(@MyValue) - CHARINDEX('ABC', @MyValue) - 1))

试试这个:-

SELECT SUBSTRING('Z00056ABC00044', 1, CHARINDEX('ABC', 'Z00056ABC00044') -1)

这可能对您有用;

select  SUBSTR('Z00056ABC00044', 1, INSTR('Z00056ABC00044', 'ABC')-1) from dual

输出:

Z00056