?#(交集)
📄字数 436
👁️阅读量 加载中...
功能描述
判断两个对象在平面中是否相交。
语法格式
[L_OPERAND_TYP] ?# R_OPERAND_TYP
输入参数
L_OPERAND_TYP(左操作数类型) | R_OPERAND_TYP(右操作数类型) | RET_TYPE(返回类型) |
---|---|---|
LSEG | LINE | BOOLEAN |
LINE | BOX | BOOLEAN |
BOX | BOX | BOOLEAN |
LSEG | LSEG | BOOLEAN |
LINE | LINE | BOOLEAN |
PATH | PATH | BOOLEAN |
LSEG | BOX | BOOLEAN |
输出结果
输出结果的类型为 BOOLEAN
类型。
示例
sql
-- BOX 两个方框是否相交
SQL> SELECT BOX('((2,2),(1,1))') ?# BOX('((1,1),(0,0))');
+-------+
| EXPR1 |
+-------+
| T |
+-------+
-- LSEG ?# BOX 线段和方框是否相交
SQL> SELECT LSEG('[(-1,0),(1,0)]') ?# BOX('(2,2),(-2,-2)');
+-------+
| EXPR1 |
+-------+
| T |
+-------+
--LINE ?# BOX 线和方框是否相交
SQL> SELECT LINE('[(-1,0),(1,0)]') ?# BOX('(2,2),(-2,-2)');
+-------+
| EXPR1 |
+-------+
| T |
+-------+
--LINE 两条线是否相交
SQL> SELECT PATH('((15,55),(34,134))') ?# PATH('((10, 110), (20, 120), (30, 130), (40, 140))');
+-------+
| EXPR1 |
+-------+
| T |
+-------+