Geoget databaze a souradnice jako text

Ahoj,

hraji si tak trochu s databazi geogetu a narazil jsem na mensi fail pri selectu s omezenim na zaporne souradnice.


sqlite> SELECT y FROM geocache WHERE y BETWEEN -0.425 AND 0.431 LIMIT 4;
-83.49285
-94.86155
-94.867283
-95.66615

Imho za to muze datovy typ TEXT u souradnice geocache. Nevite prosim nekdo, jak tento problem elegantne vyresit a neresit to na urovni aplikace?

Take prosim vyjadreni Halumy, proc jsou souradnice ulozeny jako TEXT?

Dekuji, Kuratkoo

neznám moc sqllite, ale nemumí to


cast (y as float) 

nebo tak něco?


sqlite> SELECT y FROM geocache WHERE CAST (y AS REAL) BETWEEN -0.425 AND 0.431 LIMIT 4;
-0.126
-0.12255
-0.1176
-0.117644

Fixored. Thx.

Jednoduse proto, ze je to historicky relikt jeste z doby, kdy v Sqlite byl jen jeden druh datoveho pole - text. V praxi t az tak nevadi, protoze sqlite umi pruzne konvertovat datove typy podle toho, jak se na ne divas. A podobne jsi dokazal vyresit i tvuj problem.

Mnohokrate jsme si rikal, ze to predelam, ale sqlite neumi jen tak zmenit datovy typ sloupce. Vlastne je treba udelat uplne novou tabulku, prelit vsechna data, zrusit stare indexy a vyrobit nove. A tak jsem se na to vzdycky vykaslal s tim, ze az budu nejak vyznamneji predelavat databazi, tak predelam i tohle, a spousty jinych veci.

toz tak.