2000-12-05 00:00:00 (1 row)
表6-8 数值格式化的模版模式
模式 描述
9 带有指定数值位数的值
0 带前导零的值
.(句点) 小数点
,(逗号) 分组(千)分隔符
PR 尖括号内负值
S 带符号的数值(使用区域设置)
L 货币符号(使用区域设置)
D 小数点(使用区域设置)
G 分组分隔符(使用区域设置)
MI 在指明的位置的负号(如果数字 < 0)
PL 在指明的位置的正号(如果数字 > 0)
SG 在指明的位置的正/负号
RN 罗马数字(输入在 1 和 3999 之间)
TH或th 序数后缀
V 移动指定位(小数)
6.10 几何函数和操作符
几何操作符
● +
描述:平移。
示例:
SELECT box '((0,0),(1,1))' + point '(2.0,0)' AS RESULT;
result (3,1),(2,0) (1 row)
●
-描述:平移。
示例:
SELECT box '((0,0),(1,1))' - point '(2.0,0)' AS RESULT;
result (-1,1),(-2,0) (1 row)
● *
描述:伸展/旋转。
示例:
SELECT box '((0,0),(1,1))' * point '(2.0,0)' AS RESULT;
result (2,2),(0,0) (1 row)
● /
描述:收缩/旋转。
示例:
SELECT box '((0,0),(2,2))' / point '(2.0,0)' AS RESULT;
result (1,1),(0,0) (1 row)
● #
描述:两个图形交点或者交面。
示例:
SELECT box'((1,-1),(-1,1))' # box'((1,1),(-1,-1))' AS RESULT;
result ---(1,1),(-1,-1) (1 row)
● #
描述:图形的路径数目或多边形顶点数。
示例:
SELECT # path'((1,0),(0,1),(-1,0))' AS RESULT;
result 3 (1 row)
● @-@
描述:图形的长度或者周长。
示例:
SELECT @-@ path '((0,0),(1,0))' AS RESULT;
result 2 (1 row)
● @@
描述:图形的中心。
示例:
SELECT @@ circle '((0,0),10)' AS RESULT;
result (0,0) (1 row)
● ##
描述:第一个图形相对第二个图形的最近点。
示例:
SELECT point '(0,0)' ## box '((2,0),(0,2))' AS RESULT;
result (0,0) (1 row)
● <->
描述:两个图形之间的距离。
示例:
SELECT circle '((0,0),1)' <-> circle '((5,0),1)' AS RESULT;
result 3 (1 row)
● &&
描述:两个图形是否重叠(有一个共同点就为真)。
示例:
SELECT box '((0,0),(1,1))' && box '((0,0),(2,2))' AS RESULT;
result t(1 row)
● <<
描述:图形是否全部在另一个图形的左边(没有相同的横坐标)。
示例:
SELECT circle '((0,0),1)' << circle '((5,0),1)' AS RESULT;
result t(1 row)
● >>
描述:图形是否全部在另一个图形的右边(没有相同的横坐标)。
示例:
SELECT circle '((5,0),1)' >> circle '((0,0),1)' AS RESULT;
result t(1 row)
● &<
描述:图形的最右边是否不超过在另一个图形的最右边。
示例:
SELECT box '((0,0),(1,1))' &< box '((0,0),(2,2))' AS RESULT;
result t(1 row)
● &>
描述:图形的最左边是否不超过在另一个图形的最左边。
示例:
SELECT box '((0,0),(3,3))' &> box '((0,0),(2,2))' AS RESULT;
result t(1 row)
● <<|
描述:图形是否全部在另一个图形的下边(没有相同的纵坐标)。
示例:
SELECT box '((0,0),(3,3))' <<| box '((3,4),(5,5))' AS RESULT;
result t(1 row)
● |>>
描述:图形是否全部在另一个图形的上边(没有相同的纵坐标)。
示例:
SELECT box '((3,4),(5,5))' |>> box '((0,0),(3,3))' AS RESULT;
result t(1 row)
● &<|
描述:图形的最上边是否不超过另一个图形的最上边。
示例:
SELECT box '((0,0),(1,1))' &<| box '((0,0),(2,2))' AS RESULT;
result t(1 row)
● |&>
描述:图形的最下边是否不超过另一个图形的最下边。
示例:
SELECT box '((0,0),(3,3))' |&> box '((0,0),(2,2))' AS RESULT;
result t(1 row)
● <^
描述:图形是否低于另一个图形(允许两个图形有接触)。
示例:
SELECT box '((0,0),(-3,-3))' <^ box '((0,0),(2,2))' AS RESULT;
result t(1 row)
● >^
描述:图形是否高于另一个图形(允许两个图形有接触)。
示例:
SELECT box '((0,0),(2,2))' >^ box '((0,0),(-3,-3))' AS RESULT;
result t(1 row)
● ?#
描述:两个图形是否相交。
示例:
SELECT lseg '((-1,0),(1,0))' ?# box '((-2,-2),(2,2))' AS RESULT;
result t(1 row)
●
?-描述:图形是否处于水平位置。
示例:
SELECT ?- lseg '((-1,0),(1,0))' AS RESULT;
result t(1 row)
●
?-描述:图形是否水平对齐。
示例:
SELECT point '(1,0)' ?- point '(0,0)' AS RESULT;
result t(1 row)
● ?|
描述:图形是否处于竖直位置。
示例:
SELECT ?| lseg '((-1,0),(1,0))' AS RESULT;
result f(1 row)
● ?|
描述:图形是否竖直对齐。
示例:
SELECT point '(0,1)' ?| point '(0,0)' AS RESULT;
result t(1 row)
● ?-|
描述:两条线是否垂直。
示例:
SELECT lseg '((0,0),(0,1))' ?-| lseg '((0,0),(1,0))' AS RESULT;
result t(1 row)
● ?||
描述:两条线是否平行。
示例:
SELECT lseg '((-1,0),(1,0))' ?|| lseg '((-1,2),(1,2))' AS RESULT;
result t(1 row)
● @>
描述:图形是否包含另一个图形。
示例:
SELECT circle '((0,0),2)' @> point '(1,1)' AS RESULT;
result t(1 row)
● <@
描述:图形是否被包含于另一个图形。
示例:
SELECT point '(1,1)' <@ circle '((0,0),2)' AS RESULT;
result t(1 row)
● ~=
描述:两个图形是否相同?
示例:
SELECT polygon '((0,0),(1,1))' ~= polygon '((1,1),(0,0))' AS RESULT;
result t(1 row)