Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment obtenir une sous-chaîne avec la fonction intégrée T-sql

Tirez parti de PARSENAME ?

SELECT
   PARSENAME(REPLACE(name, ' ', '.'), 2),
   PARSENAME(REPLACE(name, ' ', '.'), 1)
FROM
    MyTable;

MODIFIER exemple de travail :

DECLARE @MyTable table (name varchar(25))
INSERT @MyTable 
    SELECT 'Joe Smith' 
    UNION SELECT 'Bill Jones' 
    UNION SELECT 'Billy Bob Braxton' 
    UNION SELECT 'Mark'

SELECT
   PARSENAME(REPLACE(name, ' ', '.'), 2),
   PARSENAME(REPLACE(name, ' ', '.'), 1)
FROM
    @MyTable;

Sortie :

------ --------
Bill   Jones
Bob    Braxton
Joe    Smith
NULL   Mark    

(4 row(s) affected)