Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come ottenere una sottostringa con la funzione integrata di T-sql

Sfrutta PARSENAME ?

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

MODIFICA esempio funzionante:

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;

Uscita:

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

(4 row(s) affected)