• A couple of points on this post, (given it has been here unanswered for quite a while, the info may be a bit late to help for the original post, but may help others)

    first, the Geography and Geometry methods are case sensitive, so you must use STTouches()

    second, STTouches() return type is Boolean ... so can be used wherever a boolean comparison is required (Case statements, IF..Then, etc) but not sure what the question "Can it be converted?" is referring to here. If this is referring to using this method against Geography data, the answer would be 'no, not without converting the data type'

    finally, the example in 'online help' (see http://msdn.microsoft.com/en-us/library/bb933953.aspx) will always return 'false' as it is testing a linestring geometry against a point geometry. The text of the help topic states that "Two geometry instances touch if their point sets intersect, but their interiors do not intersect." As neither the linestring nor the point geometries have an interior, the result is always false.

    a better example of using STIntersects(), here checking if a line touches a polygon. This example returns 'true':

    DECLARE @g geometry;

    DECLARE @h geometry;

    SET @g = geometry::STGeomFromText('POLYGON((0 2, 2 0, 4 2, 0 2))', 0);

    SET @h = geometry::STGeomFromText('LINESTRING(3 2, 4 3)', 0);

    SELECT @g.STTouches(@h);

    Note also that the function should always be symmetrical, so that @g.STTouches(@h) will return the same as @h.STTouches(@g)

    Hope this helps.