Disponho de uma tabela de controle de IP’s dos servidores, de modo que possa saber rapidamente qual IP possui cada servidor, qual ip será usado ao efetuar deploy de uma nova vm, serviços, etc.
Estava tendo um problema ao editar essa tabela, pois ao efetuar uma consulta pelo range (no caso trabvalho com vários /24), os valores vinham desordenados, abaixo a query e resulta para melhor compreensão:
SELECT * FROM `TABELAIP` WHERE `ip` LIKE 'XXX.XX.XXX.%' ORDER BY `ip` ASC
Resultado:
XXX.XX.XXX.0
XXX.XX.XXX.1
XXX.XX.XXX.10
XXX.XX.XXX.100
XXX.XX.XXX.101
XXX.XX.XXX.102
XXX.XX.XXX.103
XXX.XX.XXX.104
XXX.XX.XXX.105
XXX.XX.XXX.106
XXX.XX.XXX.107
XXX.XX.XXX.108
XXX.XX.XXX.109
XXX.XX.XXX.11
XXX.XX.XXX.110
XXX.XX.XXX.111
…
No caso eu precisava que viessem na ordem certa, ou seja, final .1, final .2, final .3, etc
Para resolver isso, primeiramente “quebrei” a string do IP pelo ponto, buscando o último octeto, só que isso por sí só não bastava, pois mesmo tendo só o IP, o campo continuava a ser do tipo string, e para organização deste tipo no mysql, era necessário decimal, então resolví usando CASTING no mysql, eis a consulta:
SELECT *, CAST(SUBSTRING_INDEX(ip, '.', -1) as DECIMAL) as final FROM `TABELAIP` WHERE `ip` LIKE 'XXX.XX.XXX.%' ORDER BY `final` ASC
E finalmente o resultado desejado:
XXX.XX.XXX.0
XXX.XX.XXX.1
XXX.XX.XXX.2
XXX.XX.XXX.3
XXX.XX.XXX.4
XXX.XX.XXX.5
XXX.XX.XXX.6
XXX.XX.XXX.7
XXX.XX.XXX.8
XXX.XX.XXX.9
XXX.XX.XXX.10
XXX.XX.XXX.11
XXX.XX.XXX.12
XXX.XX.XXX.13
…..
Depois que comprei os roteadores ax3000t e finalmente consegui instalar o openwrt neles. Agora chegou…
A criação e validação de credenciais seguras em ansible sempre gera um pouco de dor…
Dia desses, um dos meus servidores entrou com o sistema de arquivos / em modo…
O launcher do ubuntu não fornece muitas opções me relação aos icones, muitas vezes apps…
Três meios diferentes para a mesma finalidade: Usando funções nativas do PHP (recomendado): array_multisort(array_map('strlen', $array),…
Embora um script muito útil para tarefas de inicialização de um servidor, essa funcionalidade se…
View Comments
Cara...vc matou a Pau! me ajudou pra caramba...valeu!!!!
Olá Júlio, obrigado por visitar meu blog. Fico feliz que essa informação tenha lhe sido útil. Abraços.