4D v16.3ORDER BY FORMULA |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
ORDER BY FORMULA
|
ORDER BY FORMULA ( tabela ; expressao {; >ou<}{; expressao2 ; >ou<2 ; ... ; expressaoN ; >ou<N} ) | ||||||||
Parâmetro | Tipo | Descrição | ||||||
tabela | Tabela |
![]() |
Tabela na qual vai ordenar os registros | |||||
expressao | Expression |
![]() |
Fórmula de ordem para cada nível (pode ser de tipo Alfanumérico, Real, Inteiro, Inteiro longo, Data, Hora ou Booleano) | |||||
>ou< | Operador |
![]() |
Sentido da ordenação para cada nível: > ordem crescente, ou < ordem decrescente | |||||
ORDER BY FORMULA ordena (reordena) os registros da seleção atual de tabela para o processo atual. Una vez efetuada a ordenação, o primeiro registro da nova seleção atual é convertido no novo registro atual. Nota: deve especificar a tabela. Não pode utilizar uma tabela por padrão.
Pode ordenar a seleção em um ou vários níveis. Para cada nível de ordenação, você passa uma expressão em expressao e um critério de ordenação em > ou <. Se passa o símbolo “maior que” (>) a ordem é crescente. Se passa o símbolo "menor que " (<) a ordem é decrescente. Se não especifica o critério de ordenação, a ordem por padrão é crescente.
O parâmetro formula pode ser de tipo Alfa, Real (Numérico), Inteiro, Inteiro longo, Data, Hora ou Booleano.
Sem importar a maneira em que se define uma ordenação, se a operação de ordenação vai a demorar um certo tempo, 4D mostra automaticamente uma mensagem que contém um termômetro de progresso. Estas mensagens podem ser ativadas e desativadas utilizando os comandos MESSAGES ON e MESSAGES OFF. Se for mostrado o termômetro de progressão, o usuário pode clicar no botão Deter para interromper a ordenação. Se a ordenação é completada corretamente, OK toma o valor 1. Do contrário, se a ordenação for interrompida, OK toma o valor 0 (zero).
4D Server: a partir da versão 11 de 4D Server, este comando é executado no servidor, o qual otimiza sua execução. Note que quando as variáveis são chamadas diretamente na expressão, a ordenação se calcula com o valor da variável na máquina cliente.Por exemplo, ORDER BY FORMULA([mytable];[mytable]myfield*myvariable) será executado no servidor mas com os conteúdos de minhavariavel da máquina cliente.
Nota de Compatibilidade: Até 4D Server v11, esse comando era executado na máquina cliente. Para compatibilidade reversa, essa operação é mantida em bancos de dados convertidos. Entretanto, uma propriedade de compatibilidade ou um seletor do comando [#cmd id="642"/] ativa execução do lado do servidor em bancos de dados convertidos.
Este exemplo ordena os registros da tabela [Pessoas] em ordem descendente, baseado na longitude do sobrenome de cada pessoa. O registro da pessoa com o sobrenome mais longo será o primeiro registro da seleção atual:
ORDER BY FORMULA([Pessoas];Length([Pessoas]Sobrenome);<)
Produto: 4D
Tema: Pesquisas
Número
300
Modificado: 4D v11 SQL Release 2
Manual de linguagem 4D ( 4D v16)
Manual de linguagem 4D ( 4D v16.1)
Manual de linguagem 4D ( 4D v16.2)
Manual de linguagem 4D ( 4D v16.3)