Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Combining a query and a function
Message
Information générale
Forum:
Microsoft SQL Server
Catégorie:
Autre
Versions des environnements
SQL Server:
SQL Server 2008
Application:
Web
Divers
Thread ID:
01460047
Message ID:
01460055
Vues:
58
Ugly and too complex.

>>>After reading your post one more time, I'm not so sure that I'm understanding your question right :o))
>>
>>As Naomi mentioned, I would like to get rid of this function and have total control into one SQL command.
>
>O!
>OK.
>Try this:
>
>declare @CenterLat float=47.7795
>declare @CenterLon float=-65.7191
>declare @SearchDistance float=250
>
>select *
>      from test
>where (latitude>=@CenterLat - @SearchDistance/111.0 and latitude<=@CenterLat + @SearchDistance/111.0)   AND
>      (longitude>=@CenterLon - @SearchDistance/111.0 and longitude<=@CenterLon + @SearchDistance/111.0) AND
>      3958.75586574 * ACOS(CASE WHEN SIN(@Latitude1/57.2957795130823) * SIN(@Latitude2/57.2957795130823) + 
>                                     COS(@Latitude1/57.2957795130823) * COS(@Latitude2/57.2957795130823) * COS(@Longitude2/57.2957795130823 - @Longitude1/57.2957795130823) < -1
>                                     THEN -1
>                                WHEN SIN(@Latitude1/57.2957795130823) * SIN(@Latitude2/57.2957795130823) + 
>                                     COS(@Latitude1/57.2957795130823) * COS(@Latitude2/57.2957795130823) * COS(@Longitude2/57.2957795130823 - @Longitude1/57.2957795130823) > 1
>                                     THEN 1
>                           ELSE 
>                                     SIN(@Latitude1/57.2957795130823) * SIN(@Latitude2/57.2957795130823) + 
>                                     COS(@Latitude1/57.2957795130823) * COS(@Latitude2/57.2957795130823) * COS(@Longitude2/57.2957795130823 - @Longitude1/57.2957795130823) < -1 END) <=@SearchDistance
>
>Just change @Latitude1, @Latitude2, @Longitude1, @Longitude2 to their real names (I'm too lazy right now :o))))
If it's not broken, fix it until it is.


My Blog
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform