Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Você pode dividir/explodir um campo em uma consulta MySQL?


Até agora, eu queria manter essas listas separadas por vírgulas no meu banco de dados SQL - bem ciente de todos os avisos!

Continuei pensando que eles têm benefícios sobre as tabelas de pesquisa (que fornecem um caminho para um banco de dados normalizado). Depois de alguns dias recusando, eu vi a luz :
  • O uso de tabelas de pesquisa NÃO está causando mais código do que aquelas operações de string feias ao usar valores separados por vírgula em um campo.
  • A tabela de pesquisa permite formatos numéricos nativos e, portanto, NÃO é maior do que esses campos csv. Mas é MENOR.
  • As operações de string envolvidas são pequenas em código de linguagem de alto nível (SQL e PHP), mas caras em comparação com o uso de matrizes de inteiros.
  • Bancos de dados não foram feitos para serem legíveis por humanos, e é principalmente estúpido tentar manter as estruturas devido à sua legibilidade / edição direta, como eu fiz.

Resumindo, há uma razão pela qual não existe a função SPLIT() nativa no MySQL.