返回字符串的部分

时间:2015-02-04 13:40:47

标签: sql sql-server-2008 tsql

假设我有这样的价值:

Z00056ABC00044

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

Z00056

我试图创建一个函数:

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

但我不确定如何在ABC之前获取该值

2 个答案:

答案 0 :(得分:2)

试试这个: -

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

答案 1 :(得分:0)

试试这个:

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