Как я могу удалить некоторые символы до пробела в T-SQL? - PullRequest
3 голосов
/ 03 декабря 2010

Я безуспешно пытаюсь придумать метод передачи

Бруно Мигеля Александра в B.Мигель Александр

и

Бруно Александр в B.Alexandre

только в SQL, поэтому я могу сделать эту часть большого запроса в процедуре хранения

Может ли кто-нибудь помочь мне?Любая функция, которую вы, ребята, уже могли бы иметь?

Очень признателен.

Ответы [ 2 ]

6 голосов
/ 03 декабря 2010

Возьмите 1-го персонажа + все из космоса. 8000 должен избегать вызовов LEN в противном случае

LEFT(MyValue, 1) + '.' + SUBSTRING(MyValue, CHARINDEX(' ', MyValue), 8000)
3 голосов
/ 03 декабря 2010

Попробуйте подстроку с CharIndex, чтобы найти пробел

with MyTable as
(
            SELECT 'Bruno Miguel Alexandre' as FullName
    UNION   SELECT 'Miguel Bruno Alexandre'
    UNION   SELECT 'Bruno Alexandre'
    UNION   SELECT 'Bruno Miguel'
)
SELECT 
    SubString (FullName, 1, 1) 
    + '.' 
    + SubString (FullName, CHARINDEX (' ', FullName, 1), 8000)
FROM MyTable

Выходные данные

------------------------
B. Alexandre
B. Miguel
B. Miguel Alexandre
M. Bruno Alexandre

(4 row(s) affected)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...