Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Разделете една колона на няколко колони, но данните ще варират SQL

Разреших проблема си и благодаря за уликите и помощта.

По принцип добавих втори курсор, който прави следното:

  • Вземете полето Обединено пълно име и го поставете във временна променлива.
  • Проверява заглавието, като изпълнява оператор за случай, за да провери г-н, г-жа и т.н., иначе въведете празен низ в Заглавие.
  • Актуализиране на заглавието Изрязване на заглавието на обединеното пълно име
  • Проверете фамилията чрез RIGHT(@TempName, CHARINDEX(' ',REVERSE(@TempName)) - 1) и приемете, че това е фамилията.
  • Актуализиране на изрязването на фамилията и замяна на това от обединеното пълно име
  • Проверете вляво за собствено име чрез LEFT(@TempName, CHARINDEX(' ',
    @TempName + ' ') -1)
  • Актуализиране на изрязването на собственото име и замяна на това от обединеното пълно име
  • Всичко друго се поставя във второто име.

Малко дълго, но в 99,9% от случаите в моята база данни се форматира перфектно.

Ако желаете горния код, уведомете ме.

Благодаря ви за отделеното време.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Използване на процесора от база данни?

  2. SQL Server REPLACE() срещу TRANSLATE():Какви са разликите?

  3. SQL Server:Течове на ниво на изолация в обединените връзки

  4. Възможно ли е разделяне на колони в SQL Server

  5. Как да върнете резултатите от заявката като списък, разделен със запетая в SQL Server – STRING_AGG()