select sdo_geom.sdo_distance(
sdo_geometry(2001, 4326, sdo_point_type(40.0, 10.0, null), null, null),
sdo_geometry(2001, 4326, sdo_point_type(40.0, 11.0, null), null, null),
0.01,
'unit=KM'
) as distance
from dual;
DISTANCE
----------
110.611186
Oracle-beregningen returnerer 110,611186 km
Den på dit websted returnerer 111,19 km altså en forskel på 580 m . Denne forskel skyldes, at din online-beregner bruger simpel matematik forudsat en sfærisk jorden, hvorimod Oracle bruger den korrekte ellipsoide jordens form (WGS84-ellipsoiden).
Du kan se forskellen på https://www.fai.org/page/world -afstandsberegner Hvis du vælger WGS84 jordmodellen (WGS84-ellipsoiden) så får du samme resultat som Oracle (110.611186562098). Hvis du ændrer den til FAI Sphere så får du 111.19492643325476, det samme som din komparator.
Den korrekte distance er 110.611 km. Om det er vigtigt at beregne den med 580 m off, afhænger af din applikation. Hvis du måler korte afstande (som en km eller mindre), er fejlen ubetydelig. Men for langdistance kan det have betydning. Her ville det betyde, at man misser et mål med 1/2 km!
Det viser vigtigheden af at bruge den korrekte jordmodel til disse beregninger.
EDIT: Og Oracle-repræsentationen (og stort set alle GIS-værktøjer) er længdegrad, breddegrad . Hvis du bytter tallene, så får du meget forskellige resultater.