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
假设我有这样的值:
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