mysqlを使用してこの質問に対する回答をたくさん見つけましたが、mssql2008が使用できるクエリに何も変換できませんでした。データベースの各行に経度と緯度の列があります。ユーザーがいる場所の緯度と経度を設定します。ユーザーの緯度/経度からxマイル以内にあるすべての行を検索できるようにしたい。また、SOで見つけた他のクエリを使用しようとすると、エラーが発生し続けます 。'pow' is not a recognized built-in function name.
これは、SQL 2008で以前に使用したことがあると確信しているため、奇妙なことですpow
。これに関するサポートをいただければ幸いです。これまでのところ、これが最も近いものです。
select * from tbl_MyTable
WHERE (
POW( ( 69.1 * ( Longitude - @longitude ) * cos( @latitude / 57.3 ) ) , 2 ) + POW( ( 69.1 * ( Latitude - @latitude ) ) , 2 )
) < ( 5 *5 );