2010-07-30 21 views
7

Bu, MySQL kullanarak PHP'nin sorgusudur. Herkes bu sorguyu sqlite sorgusuna dönüştürebilir mi?sqlite içinde sqrt nasıl alınır

Sorgu:

select SQRT(POW(latitude, 2) + POW(longitude, 2)) *110 as dist from route 

Saygılarımızla, Teşekkür

+2

SQLite bilmiyorum, ancak bu [işlevler] (http://www.sqlite.org/lang_corefunc.html) kullanılamayacak gibi görünüyorsa, başka bir uzaklık kullanmayı deneyebilirsiniz: "abs (enlem) + abs (boylam) '. Ya da sadece "enlem * enlem + boylam * boylamı" sorguda (ör. Sıralama için) ve geri kalanını PHP'de 'SQRT (x) * 110') gerçekleştirin. – pascal

+0

Yaptığın çok teşekkür ederim, söylediğin gibi. – Naveed

cevap

5

.

sorgu haline gelir:

SELECT 
    * 
FROM 
    (
     SELECT 
      temperature, 
      climate, 
      temperatureTime, 
      photoURL, 
      (((latitude - 37.331689) * (latitude - 37.331689)) + (longitude - (-122.030731)) * (longitude - (-122.030731))) * (110 * 110) AS dist 
     FROM 
      weather 
    ) 
    AS tab 
WHERE 
    tab.dist <= (1.0 * 1.0); 

Bu sorgu 1 KM içinde çevremdeki yerleri yakın koordinatlarını bulmak için kullanılır.

4

Bu kayıt Önemsiz PHP'nin sqrtsqlite_create_function ile. Kayıt olmadan

sqlite_create_function($sqlite_db, "sqrt", "sqrt", 1); 

, şunları kullanabilirsiniz: Ben "pascal" yardımı ile yapmış

php('sqrt', value); 
İlgili konular