Здравствуйте.
При создании поля использую следующий код:
Таблица с клиентами, которые записаны как Иванов Иван Иванович или ООО "Рога и копыта". Использую
CASE - для исключения организаций
LTRIM(RTRIM(Owner) - для удаления пробелов в начале и конце строки
REPLACE(REPLACE(REPLACE... - для удаления лишних пробелов внутри строки
STUFF - для обрезки фамилий
Код работает, но больно уж громоздкий получился, можно ли его как-то упростить, сделать компактнее?
При создании поля использую следующий код:
SELECT (CASE WHEN Owner LIKE '[А-Я][А-Я]%' COLLATE Cyrillic_General_BIN OR Owner LIKE '%"%' THEN '' ELSE STUFF(REPLACE(REPLACE(REPLACE(LTRIM(RTRIM(Owner)), ' ', CHAR(1) + ' '), ' ' + CHAR(1), ''), CHAR(1), ''),1,CHARINDEX(' ',REPLACE(REPLACE(REPLACE(LTRIM(RTRIM(Owner)), ' ', CHAR(1) + ' '), ' ' + CHAR(1), ''), CHAR(1), ''),1),'') END) AS LastName FROM Table
Таблица с клиентами, которые записаны как Иванов Иван Иванович или ООО "Рога и копыта". Использую
CASE - для исключения организаций
LTRIM(RTRIM(Owner) - для удаления пробелов в начале и конце строки
REPLACE(REPLACE(REPLACE... - для удаления лишних пробелов внутри строки
STUFF - для обрезки фамилий
Код работает, но больно уж громоздкий получился, можно ли его как-то упростить, сделать компактнее?