quarta-feira, 20 de fevereiro de 2002

Como pegar um registro aleatório de uma tabela

(Retirado de ASPFAQS.com, #2132)

Usando SQL Server 7 no Windows 2000:
SELECT TOP 1 campo FROM tabela ORDER By NewID()
Sem Windows 2000 e caso a tabela tenha um campo IDENTITY:
SELECT TOP 1 campo FROM tabela ORDER BY RAND((1000*CampoID)*DATEPART(millisecond, GETDATE()))

No caso do Access ou SQl Server 6.5, não tem jeito: precisamos saber quantos registros existem e fazer a randomização no ASP. O Blade postou um artigo sobre isso.



Esta matéria foi postada originalmente no ASP4Developers por Rubens N. Farias (site), que na época era "pós-graduado em análise de sistemas orientados a objetos, MCP, MCSD, MCAD, MCSD.NET e consultor em TI, além de idealizador do projeto ASP4Developers. Desenvolve sistemas sob medida, focados na satisfação do usuário, com qualidade e custo realista.". Hoje, vai saber...

0 comentários: