Quando você desenvolve sistemas que necessitam de emitir um comprovante para o cidadão comum, como um sistema de cadastro de solicitações de serviço, presencial, os requisitos do comprovante de saída exigem que o nome do atendente que registrou a ocorrência saia no comprovante?

Existem sistemas que sim, saem o nome completo do atendente, em vez de um apelido ou outro identificador da pessoa.

Um caso inusitado ocorreu com um sistema do gênero: os cidadãos estavam pesquisando os nomes dos atendentes, principalmente mulheres, em redes sociais.

Quem nunca foi atendido por uma pessoa bonita e quis saber mais sobre essa pessoa? E isso é independente do gênero e orientação sexual.

Mas uma coisa é chegar com jeito, outra é assediar, e como sabemos bem assédio é crime. E ficamos deveras relutantes em aceitar contato de desconhecidos em nossas redes. Por isso, aos leitores do blog recomendo o primeiro contato através dos comentários dos posts, e nunca direto nas redes.

Qual foi a solução adotada para que os próximos cidadãos tenham mais dificuldade em encontrar aquela atendente edificante nas redes através do nome? Só exibindo o primeiro nome em vez do nome completo!

Para isso pode ser utilizado o comando SUBSTRING() (SQL Server) diretamente na consulta que retorna o nome:

SUBSTRING([Coluna do Nome],0,charindex(' ',[Coluna do Nome])) as Atendente

O uso do comando é simples: primeiro parâmetro o texto que quer truncar, segundo parâmetro a posição inicial e terceiro parâmetro a quantidade de caracteres a retornar. Para obter a quantidade de caracteres do primeiro nome, pesquisei a posição do primeiro espaço na string com a função charindex(), que recebe o caracter a ser pesquisado e a string em questão, retornando a primeira posição onde o caracter é encontrado.

Então um requisito para esta rotina funcionar a contento é ter um espaço na string, pois se não tiver a função retornará vazio.

Enfim, uma funçãozinha tão simples e básica em qualquer linguagem pode nos tirar de um problemão!