4

Nameという列が1つあり、列には値があります

Name
001 BASI Distributor (EXAM)
002 BASI Supplier (EXAM2)
MASI DISTRIBUTOR (EXAM002)
MASI SUPPLIER (EXAM003)
EXAM_ND Distributor Success System Test (EXAM_ND)
EXAM_SS Supplier Success System Test (EXAM_SS)

()今度は、この文字列全体から内の値を分離したいと思います。これを取得する方法 のために試しましたSUBSTRING (Name ,22 ,4 )が、これは、独自のソリューションを使用して結果を取得したい単一の値に役立ちます。

4

4 に答える 4

5
SELECT  SUBSTRING(Name,
        CHARINDEX('(', Name) + 1,
        CHARINDEX(')', Name) - CHARINDEX('(', Name) - 1)
于 2013-07-12T09:21:07.257 に答える
3

これを試してみてください -

DECLARE @temp TABLE (st NVARCHAR(50))

INSERT INTO @temp (st)
VALUES 
     ('001 BASI Distributor (EXAM)'),
     ('002 BASI Supplier (EXAM2)'),
     ('MASI DISTRIBUTOR (EXAM002)'),
     ('MASI SUPPLIER (EXAM003)'),
     ('EXAM_ND Distributor Success System Test (EXAM_ND)'),
     ('EXAM_SS Supplier Success System Test (EXAM_SS)')

SELECT SUBSTRING(
     st, 
     CHARINDEX('(', st) + 1, 
     CHARINDEX(')', st) - CHARINDEX('(', st) - 1
)
FROM @temp

出力 -

-------------
EXAM
EXAM2
EXAM002
EXAM003
EXAM_ND
EXAM_SS
于 2013-07-12T09:21:23.473 に答える
-1

してみてください:

SELECT 
    REPLACE(SUBSTRING(Name, PATINDEX('%(%', Name)+1, LEN(Name)), ')', '')
FROM 
    YourTable
于 2013-07-12T09:21:26.843 に答える