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

Divida os dados em colunas no mysql


Você pode escrever uma função MySQL personalizada chamada função definida pelo usuário que pode receber o nome da variável e o valor a ser pesquisado e, em seguida, retornar a linha ou ID etc. conforme necessário.

Nessa função, você precisará percorrer todas as linhas em um cursor somente leitura e usar SUBSTRING_INDEX() para obter os valores separadamente e verificar a correspondência.

Se você precisar de mais ajuda, então me avise.

Para obter mais informações, consulte o manual do MySQL para funções de string aqui .

Um extrato de um comentário de usuário do link acima que pode ajudá-lo a escrever a função:Isso dividirá um endereço IP ("a.b.c.d") em 4 octetos respectivos:
SELECT
`ip` , 
SUBSTRING_INDEX( `ip` , '.', 1 ) AS a,
SUBSTRING_INDEX(SUBSTRING_INDEX( `ip` , '.', 2 ),'.',-1) AS b, 
SUBSTRING_INDEX(SUBSTRING_INDEX( `ip` , '.', -2 ),'.',1) AS c,
SUBSTRING_INDEX( `ip` , '.', -1 ) AS d
FROM log_table