Извлечение имени и фамилии

У меня есть столбец с именем Name в таблице с именем test, у которого есть полное имя, и я пытаюсь извлечь имя и фамилия. Поэтому я написал примерно такой запрос:

SELECT 
[Name],
 LEFT([Name],CHARINDEX(' ',[Name])-1)  AS FIRST_NAME,
SUBSTRING([Name],CHARINDEX(' ',[Name])+1,LEN([Name])) AS LAST_NAME
FROM Test

Но он выдает ошибку:

Сообщение 537, уровень 16, состояние 2, строка 1

У меня есть столбец с именем Name в таблице с именем test, в котором указано полное имя, и я пытаюсь извлечь имя и фамилию. Поэтому я написал примерно такой запрос:

SELECT 
[Name],
 LEFT([Name],CHARINDEX(' ',[Name])-1)  AS FIRST_NAME,
SUBSTRING([Name],CHARINDEX(' ',[Name])+1,LEN([Name])) AS LAST_NAME
FROM Test

Но он выдает ошибку:

Сообщение 537, уровень 16, состояние 2, строка 1

У меня есть столбец с именем Name в таблице с именем test, в котором указано полное имя, и я пытаюсь извлечь имя и фамилию. Поэтому я написал примерно такой запрос:

SELECT 
[Name],
 LEFT([Name],CHARINDEX(' ',[Name])-1)  AS FIRST_NAME,
SUBSTRING([Name],CHARINDEX(' ',[Name])+1,LEN([Name])) AS LAST_NAME
FROM Test

Но он выдает ошибку:

Msg 537, Level 16, State 2, Line 1 Неверный параметр длины, переданный в функцию LEFT или SUBSTRING.

Это потому, что у меня есть некоторые значения в имени, например:

Имя:

Hopkins

Как мне с этим справиться?

7
задан 28 February 2011 в 20:20
поделиться