geography タイプは、geometry よりも少し限定的です。異なる半球を横切ることはできず、外側のリングは反時計回りに描く必要があります。
残念ながら (これは良いことだと思う人もいます)、SQL Server 2012 は、無効な地理を作成してもエラーをスローしなくなりました。次のように、Roben Island ジオメトリのポイントの順序を逆にする必要があります:
DECLARE @robben_island geography = ('POLYGON((18.351803 -33.788421, 18.354464 -33.822369,18.386736 -33.820515, 18.382788 -33.787494, 18.351803 -33.788421))')
DECLARE @point_in_robben_island geography= ('POINT(18.369226 -33.80554)')
DECLARE @point_in_alcatraz geography= ('POINT(-122.423401 37.827006)')
SELECT @robben_island.STContains(@point_in_robben_island) --returns 'True'
SELECT @robben_island.STContains(@point_in_alcatraz) --returns 'False'