Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Consulta para encontrar el valor más cercano (https://www.clubdelphi.com/foros/showthread.php?t=46328)

Faust 28-07-2007 23:02:00

Consulta para encontrar el valor más cercano
 
Saludos foreros.

Esta consulta me funciona en Access, pero no en SQL Server. (Por obvias razones)

Código SQL [-]
 
SELECT TOP 1 * FROM dbo_Pref
ORDER BY SQR((lfLongitude - -92.89833)^2 + (lfLatitude - 18.02)^2)


La tabla dbo_Pref contiene una colección de puntos importantes con un nombre y su ubicación mediante su longitud y latitud (los campos lfLongitude y lfLatitude respectivamente que son del tipo float), este ejemplo de consulta busca el punto más cercano a la longitud -92.89833 y latitud 18.02.

En Access se pueden utilizar las funciones SQR y el operador ^ para elevar a cierta potencia, pero en SQL Server ¿cómo se hace este tipo de consulta?, ¿cuál sería el equivalente a esta consulta pero en SQL Server?

Muchas gracias desde ya.

Faust 01-08-2007 05:15:58

Eureka
 
Perdonar por mi ignorancia...

Despues de buscar un poco, dí con un manual de SQL Server y encontré las funciones aritméticas.

Este es el equivalente en SQL Server:

Código SQL [-]
 
SELECT TOP 1 * FROM Pref
ORDER BY SQRT(POWER(lfLongitude - -92.89833, 2) + POWER(lfLatitude - 18.02, 2))

POWER para elevar a cierta potencia --- POWER(Que_elevar, Que_Potencia)
SQRT para extraer la raíz cuadrada --- SQRT(Numero)


La franja horaria es GMT +2. Ahora son las 22:00:24.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi