Realizando uma consulta que retorna dados randômicos em SQL Server e Oracle
Freqüentemente é necessário retornar dados aleatórios em uma consulta. Cada banco de dados trabalha de uma forma diferente para retornar dados randômicos. Abaixo será listado como o SQL Server e o Oracle permitem realizar este tipo de consulta. Em ambos os exemplos é realizada uma busca de 10 registros de forma randômica.
Buscando dados aleatórios no SQL Server
SELECT TOP 10 <coluna_0>,<coluna_1>,..,<coluna_n> FROM <tabela> ORDER BY NEWID()
Buscando dados aleatórios no Oracle
SELECT <coluna_0>,<coluna_1>,..,<coluna_n>
FROM (SELECT <coluna_0>,<coluna_1>,..,<coluna_n>
FROM <tabela>
WHERE <condicao> ORDER BY dbms_random.value )
WHERE rownum <= 10
É importante salientar que no Oracle o número de colunas tanto do SELECT principal como o da Sub-consulta devem ser iguais e a condição, caso haja, deve-se encontrar dentro da Sub-consulta.
Publicado em: 11/09/2007 | Tags: Banco de Dados, Oracle, Sql Server | Comentários: Ainda Sem







