У меня есть ниже sql.Оператор AND после оператора where должен гарантировать, что в имени действительно есть второй пробел, например после второго имени / инициала.Имя в этом столбце в обратном порядке: последнее, первое, среднее.Я пытаюсь схватить имя, которое будет именем во второй позиции, если таковое существует.Я получаю недопустимый параметр длины и не уверен, почему, я думал, что мое предложение AND позаботится об этом.
Образцы данных:
Consultant_Contacted
Sample Name Test
Sample Name S
Name S Sample2
Ожидаемые результаты:
Consultant_Last_Name | Consultant_First_Name
Sample | Name
Name | Sample2
Я забочусь о именах в обратном порядке, ища A.Ordering_pty_name = ''
WHEN A.Ordering_pty_name = ''
AND (CHARINDEX(' ', A.Consultant_Contacted, CHARINDEX(' ', A.Consultant_Contacted) + 1) + 1) > 0
THEN UPPER(
RTRIM(
LTRIM(
SUBSTRING(
A.Consultant_Contacted
, CHARINDEX(' ', A.Consultant_Contacted, 1)
--, 100
, (
CHARINDEX(
' '
, A.CONSULTANT_CONTACTED
, CHARINDEX(
' '
, A.CONSULTANT_CONTACTED
) + 1
) + 1
) -
(
CHARINDEX(
' '
, A.CONSULTANT_CONTACTED
, 1
)
)
)
)
)
)