Separar texto com ‘;’ em ‘n’ colunas

E a pessoal, tudo belezinha com vocs? Segue um post rpido, s para registrar um assunto que rolou em um grupo de discusso do Telegram h algum tempo atrs e s agora eu resolvi parar para escrever a respeito…

Pense no seguinte cenrio:

Eu tenho uma tabela onde uma das colunas um campo texto (varchar(XXX)), separado por ‘;’ (ou qualquer outro caractere de sua preferncia).

Mas porque eu teria isso? Bom, imagine que voc crie uma trigger para a fazer sua auditoria e, ao invs de guardar em colunas, voc guarda em um varchar as alteraes…

O objetivo: Agora mudaram de ideia e precisam fazer com que esse texto retorne como colunas em uma query.

Algo assim:

Spoiler Alert

Algumas observaes:

  • Vou trabalhar com uma quantidade fixa de colunas (supor que o mximo 6), mas totalmente possvel investigar quantas colunas tem no maior texto, para criar a tabela.
  • Se houver um campo vazio (;;), devo deixar o campo como NULL

Vamos l…

Simples, no? 🙂

Lembrete importante: Devido ao uso do STRING_SPLIT, essa consulta s vai rodar acima do SQL Server 2016.

Valeu pessoal! Bons estudos!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.