MYSQL Abfrage mit hoch zwei
Starbucks
- datenbank
Hallo,
ich habe das gleiche Problem wie http://forum.de.selfhtml.org/?t=193908&m=1295737
Aber mein SQL Server meißt mir zb. hier:
SELECT *
FROM daten
WHERE laengengrad BETWEEN 7.0 AND 8.2
AND breitengrad BETWEEN 50.0 AND 52.0
ORDER BY (
(leangengrad - 8.0349351)^2 + (breitengrad - 51.9885706)^2
)
Die Orte aber vollkommen unsortiert raus, ich vermute ich habe das hoch2 falsch gesetzt oder ist es doch richtig?
Danke
Starbucks
Hi,
ich habe das gleiche Problem wie http://forum.de.selfhtml.org/?t=193908&m=1295737
Dann wäre es vielleicht clever, deine Frage auch gleich dort zu stellen, wenn der Thread sich eh schon mit der gleichen Problematik befasst.
Aber mein SQL Server meißt mir zb. hier:
ORDER BY (
(leangengrad - 8.0349351)^2 + (breitengrad - 51.9885706)^2
)Die Orte aber vollkommen unsortiert raus, ich vermute ich habe das hoch2 falsch gesetzt oder ist es doch richtig?
Das hättest du ja erst mal leicht überprüfen können, in dem du die Berechnung nicht nur in die WHERE-Klausel aufnimmst, sondern auch selektieren lässt - und dann schaust, ob dabei das richtige herauskommt.
Und nein, ^ ist in MySQL nicht potenzieren, sondern bitweises Exklusiv-Oder (XOR).
Die Funktion zum Potenzieren findest du im Handbuch bei den mathematischen Funktionen.
MfG ChrisB
Hallo,
für alle anderen die auch noch suchen die Funktion heißt POW()