Как разделить один столбец на два столбца в SQL Server

У меня есть небольшой вопрос о SQL Server, пожалуйста, скажите мне, как решить эту проблему

Таблица:emp

   id    name
  ---------------
   1    abc_rao
   2    nani
   3    hari_babu
   4    kalibabu
   5    ab_tan

Основываясь на этой таблице, я хочу вывод, как показано ниже

   id   firstname   lastname
   1      abc       rao
   2      nani      nothing
   3      hari      babu
   4      kalibabu  nothing
   5      ab        tan

и я попробовал так:

select 
    SUBSTRING(name, 1, CHARINDEX('_', name) - 1) as firstname , 
    SUBSTRING(name, CHARINDEX('_', name) + 1, LEN(name)) as lastname 
from emp

но я не получаю точно ожидаемый результат.

Вместо этого я получаю сообщение об ошибке:

Сообщение 537, уровень 16, состояние 2, строка 3
Недопустимый параметр длины, переданный в функцию LEFT или SUBSTRING.

Подскажите пожалуйста как это решить

Проблема с использованием запроса в SQL Server

Ответы на вопрос(4)

Ваш ответ на вопрос