目录

1.结果集的分区中的每一行分配一个连续的整数 ROW_NUMBER()

2.将字符串追加到指定的数量 RPAD()

3.删除尾随空格 RTRIM()

4.将秒转换为“hh:mm:ss”格式 SEC_TO_TIME()

5.返回指定时间或日期时间值的第二部分 SECOND()

6.计算 SHA-1 160 位校验和 SHA1() / SHA()

7.计算 SHA-2 校验和 SHA2()

8.返回参数的符号 SIGN()

9.返回参数的正弦值 SIN()

10.睡眠数秒 SLEEP()

11.返回一个声音字符串 SOUNDEX()

12.比较声音 SOUNDS LIKE

13.阻止,直到复制副本读取并应用了所有更新,直到 指定位置 SOURCE_POS_WAIT()

14.返回指定空格数的字符串 SPACE()

15.返回参数的平方根 SQRT()

16.返回面或多面区域 ST_AREA()

17.从内部几何格式转换为 WKB ST_ASBINARY() / ST_ASWKB()

18.从几何生成地理 JSON 对象 ST_ASGEOJSON()

19.从内部几何格式转换为 WKT ST_ASTEXT() / ST_ASWKT()

20.返回距几何给定距离内的点的几何 ST_BUFFER()

21.生成 ST_Buffer() 的策略选项 ST_BUFFER_STARTEGY()

22.返回质心作为点 ST_CENTROID()

23.将空间值聚合到集合中 ST_COLLECT()

24.一个几何图形是否包含另一个几何图形 ST_CONTAINS()

25.返回几何形状的凸包 ST_CONVEXHULL()

​26.一个几何图形是否与另一个几何图形相交 ST_CROSSES()

27.两个几何形状的返回点集差异 ST_DIFFERENCE()

28.几何尺寸 ST_DIMENSION()

29.一个几何图形是否与另一个几何图形不相交 ST_DISJOINT()

30.一个几何图形与另一个几何图形的距离 ST_DISTANCE()

31.两个几何形状在地球上的最小距离 ST_DISTANCE_SPHERE

32.线字符串的终点 ST_ENDPOINT()

33.返回几何图形的 MBR ST_ENVELOPE()

34.一个几何图形是否等于另一个几何图形 ST_EQUALS()

35.多边形的返回外环 ST_EXTERIORRING()

36.一个几何体与另一个几何体的离散弗雷谢距离 ST_FRECHETDISTANCE()

37.生成地理哈希值 ST_GEOHASH()

38.从 WKT 返回几何集合 ST_GEOCOLLFROMTEXT() / ST_GEOMETRYCOLLECTIONFROMTEXT() / ST_GEOMCOLLFROMTEXT()

39.从 WKB 返回几何集合 ST_GEOMCOLLFROMTWKB() /ST_GEOMETRYCOLLECTIONFROMEKB()

40.从几何集合中返回第 N 个几何图形 ST_GEOMETRYN()

41.返回几何类型的名称 ST_GEOMETRYTYPE()

42.从 GeoJSON 对象生成几何图形 ST_GEOMFROMGEOJSON()

43.从 WKT 返回几何图形ST_GeomFromText()/ ST_GeometryFromText()

44.从 WKB 返回几何图形ST_GeomFromWKB ()/ST_GeometryFromWKB()

45.一个几何体与另一个几何体的离散豪斯多夫距离ST_HausdorffDistance()

46.返回多边形的第 N 个内环ST_InteriorRingN()

47.返回点集 两个几何形状的交集ST_Intersection()

48.一个几何图形是否与另一个几何图形相交ST_Intersects()

49.几何图形是否封闭和简单ST_IsClosed()

50.几何图形是否为空ST_IsEmpty()

51.几何图形是否简单ST_IsSimple()

52.几何图形是否有效ST_IsValid()


1.结果集的分区中的每一行分配一个连续的整数 ROW_NUMBER()

脚本

create table a(    id    int auto_increment primary key,    score int);insert into a (score)values (90),       (90),       (85),       (80),       (70);insert into a (score) value (100);insert into a (score) value (90);select id, row_number() over (order by score)from a;

分析

ROW_NUMBER () 是一个窗口函数,它为结果集的分区中的每一行分配一个连续的整数。. 行号以每个分区中第一行的行号开头。

窗口函数

结果

2.将字符串追加到指定的数量 RPAD()

脚本

SELECT RPAD('hello',6,'***');

分析

将一个字符串与另一个字符串右填充到一定长度。

RPAD(string,length,rpad_string)

string必需。原始字符串。 如果原始字符串的长度大于length参数,此函数将删除string
length必需。右填充后的字符串长度
rpad_string必需。右填充到string的字符串

结果

3.删除尾随空格 RTRIM()

脚本

SELECT RTRIM('   HELLO     ');

结果

4.将秒转换为“hh:mm:ss”格式 SEC_TO_TIME()

脚本

SELECT SEC_TO_TIME(45648);

结果

5.返回指定时间或日期时间值的第二部分 SECOND()

脚本

SELECT SECOND(now()),SECOND('16:23:36');

结果

6.计算 SHA-1 160 位校验和 SHA1() / SHA()

脚本

SELECT SHA1('ABC');

分析

计算字符串的 SHA-1 160 位校验和,如 RFC 3174(安全哈希算法)中所述。值为 以 40 个十六进制数字的字符串形式返回,或者如果参数为 .可能的用途之一 函数作为哈希键

结果

7.计算 SHA-2 校验和 SHA2()

脚本

SELECT SHA2('ABC',224);

分析

计算 SHA-2 系列哈希函数 (SHA-224, SHA-256、SHA-384 和 SHA-512)。第一个参数是 要散列的纯文本字符串。第二个参数指示 结果的所需位长度,必须具有值 的 224、256、384、512 或 0(相当于 256)。如果 参数为或哈希长度 不是允许的值之一,返回值为 。否则,函数结果为 包含所需位数的哈希值

结果

8.返回参数的符号 SIGN()

脚本

select sign(10), sign(-5), sign(0);

分析

正数返回1

负数返回-1

0返回0

结果

9.返回参数的正弦值 SIN()

脚本

select sin(pi()),sin(0);

结果

10.睡眠数秒 SLEEP()

脚本

select sleep(10);

分析

会等10s

结果

11.返回一个声音字符串 SOUNDEX()

脚本

SELECT SOUNDEX('Hello'),SOUNDEX('ABC');

分析

SOUNDEX(str)

返回str的一个同音字符串。两个字符串的声音几乎同样应该有相同的同音字符串。一个标准的soundex字符串是四个字符长,但是SOUNDEX()函数返回一个任意长的的字符串。您可以使用SUBSTRING()对结果得到一个标准的soundex字符串。在str中所有非字母字符将被忽略。以外的AZ范围内的所有国际字母被当作元音。

//更多请阅读:https://www.yiibai.com/sql/sql-soundex-function.html

结果

12.比较声音 SOUNDS LIKE

脚本

SELECT 'Abc' SOUNDS LIKE 'Abc','abc' SOUNDS LIKE 'bcd';

分析

MySQL SOUNDS LIKE运算符将从表中搜索相似的声音值。它的语法是“ Expression1 SOUNDS LIKE Expression2”,其中,Expression1和Expression2将根据它们的英语发音进行比较。

结果

13.阻止,直到复制副本读取并应用了所有更新,直到 指定位置 SOURCE_POS_WAIT()

脚本

SELECT MASTER_POS_WAIT('source_log_file', source_log_pos [, timeout][, channel])

分析

这实际上是一个函数,而不是一个语句。它用于 确保副本已读取并执行的事件,最高可达 在源的二进制日志中的给定位置。

该函数已弃用

14.返回指定空格数的字符串 SPACE()

脚本

SELECT SPACE(6);

结果

15.返回参数的平方根 SQRT()

脚本

SELECT SQRT(4),SQRT(15);

结果

16.返回面或多面区域 ST_AREA()

脚本

 SET @poly =       'Polygon((0 0,0 3,3 0,0 0),(1 1,1 2,2 1,1 1))';SELECT ST_Area(ST_GeomFromText(@poly));

分析

  • 对于维度为 0 或 1 的参数,结果为 0。

  • 如果几何图形为空,则返回值为 0 而不是 比。NULL

  • 对于几何集合,结果是 所有组件的面积值。如果几何形状 集合为空,其区域返回为 0。

  • 如果几何具有地理的 SRID 值 空间参考系统 (SRS),ER_NOT_IMPLEMENTED_FOR_GEOGRAPHIC_SRS则发生ER_NOT_IMPLEMENTED_FOR_GEOGRAPHIC_SRS错误。

结果

17.从内部几何格式转换为 WKB ST_ASBINARY() / ST_ASWKB()

脚本

SET @g = ST_LineFromText('LINESTRING(0 5,5 10,10 15)', 4326);SELECT ST_AsText(ST_GeomFromWKB(ST_AsWKB(@g)));

分析

将内部几何格式的值转换为其 WKB 表示并返回二进制结果。

函数返回值具有地理坐标 (纬度、经度)按空间指定的顺序 适用于几何参数的参考系

结果

18.从几何生成地理 JSON 对象 ST_ASGEOJSON()

脚本

SELECT ST_AsGeoJSON(ST_GeomFromText('POINT(11.11111 12.22222)'),2);

分析

从几何图形g生成 GeoJSON 对象。对象字符串具有 连接字符集和排序规则。

如果任何参数为 ,则返回值 是。如果任何非参数无效,则会发生错误。NULLNULLNULL

max_dec_digits(如果指定), 限制坐标和原因的小数位数 输出的四舍五入。如果未指定,则此参数默认为 最大值 232− 1. 最小值为 0。

选项(如果指定)为 位掩码。下表显示了允许的标志值。 如果几何参数的 SRID 为 0,则没有 CRS 对象 甚至为那些请求一个标志值的标志值生成。

标记值意义
0别无选择。如果选项是 未指定。
1向输出添加边界框。
2将短格式 CRS URN 添加到输出。默认格式为短格式 格式 ().EPSG:srid
4添加长格式 CRS URN (). 此标志将覆盖标志 2。例如,选项值 的 5 和 7 表示相同(添加一个边界框和一个 长格式 CRS URN)。urn:ogc:def:crs:EPSG::srid

结果

19.从内部几何格式转换为 WKT ST_ASTEXT() / ST_ASWKT()

脚本

 SET @g = 'LineString(1 1,2 2,3 3)';SELECT ST_AsText(ST_GeomFromText(@g));

分析

将内部几何格式的值转换为其 WKT 表示并返回字符串结果。

函数返回值具有地理坐标 (纬度、经度)按空间指定的顺序 适用于几何参数的参考系

结果

20.返回距几何给定距离内的点的几何 ST_BUFFER()

脚本

SET @pt = ST_GeomFromText('POINT(0 0)');SELECT ST_AsText(ST_Buffer(@pt, 0));

分析

返回一个几何图形,该几何图形表示其距离的所有点 从几何值g较小 小于或等于d的距离。 结果与几何参数位于相同的 SRS 中。

如果几何参数为空,则 ST_Buffer()返回一个空 几何学。

如果距离为 0,则 ST_Buffer()返回 几何参数未更改:

结果

21.生成 ST_Buffer() 的策略选项 ST_BUFFER_STARTEGY()

分析

此函数返回一个策略字节字符串,用于ST_Buffer()以影响缓冲区 计算。

第一个参数必须是指示策略的字符串 选择:

  • 对于点策略,允许的值为 和 。'point_circle''point_square'

  • 对于联接策略,允许的值为 和 。'join_round''join_miter'

  • 对于最终策略,允许的值为 和 。'end_round''end_flat'

22.返回质心作为点 ST_CENTROID()

脚本

SET @poly =       ST_GeomFromText('POLYGON((0 0,10 0,10 10,0 10,0 0),(5 5,7 5,7 7,5 7,5 5))');SELECT ST_GeometryType(@poly),ST_AsText(ST_Centroid(@poly));

分析

此函数通过计算处理几何集合 最高维度组件的质心点 集合。这些成分被提取并制成 单个 、 或用于质心计算

结果

23.将空间值聚合到集合中 ST_COLLECT()

脚本

CREATE TABLE product (  year INTEGER,  product VARCHAR(256),  location Geometry);INSERT INTO product(year,  product,     location) VALUES(2000, "Calculator", ST_GeomFromText('point(60 -24)',4326)),(2000, "Computer"  , ST_GeomFromText('point(28 -77)',4326)),(2000, "Abacus"    , ST_GeomFromText('point(28 -77)',4326)),(2000, "TV"        , ST_GeomFromText('point(38  60)',4326)),(2001, "Calculator", ST_GeomFromText('point(60 -24)',4326)),(2001, "Computer"  , ST_GeomFromText('point(28 -77)',4326));SELECT ST_AsText(ST_Collect(location)) AS result       FROM product;

分析

聚合几何值并返回单个几何 集合值。有了这个选项, 返回不同几何参数的聚合。

结果

24.一个几何图形是否包含另一个几何图形 ST_CONTAINS()

脚本

SET @g3 = ST_GeomFromText('Polygon((0 0,0 3,3 3,3 0,0 0))');SET @g4 = ST_GeomFromText('Polygon((0 0,0 3,3 3,3 0,0 0))');SELECT ST_CONTAINS(@g3,@g4);

分析

返回 1 或 0 以指示g1是否完全包含g2

结果

25.返回几何形状的凸包 ST_CONVEXHULL()

脚本

SET @g = 'MULTIPOINT(5 0,25 0,15 10,15 25)';SELECT ST_AsText(ST_ConvexHull(ST_GeomFromText(@g)));

分析

返回一个几何图形,该几何图形表示 几何值g

此函数首先计算几何图形的凸包 检查其顶点是否为共线。函数 如果是,则返回线性船体,否则返回多边形船体。这 函数通过提取所有 集合中所有组件的顶点,从中创建值,然后计算 它的凸包

结果

26.一个几何图形是否与另一个几何图形相交 ST_CROSSES()

分析

两个几何图形在空间上相交,如果它们的 空间关系具有以下属性:

  • 除非g1和 g2 都是维度1:如果g2的内部具有与G1的内部,但G2没有覆盖整个G1的内部。

  • 如果g1g2的维度均为 1:如果 线在有限数量的点中相互交叉 (即没有公共线段,只有单个点 常见)。

此函数返回 1 或 0 以指示g1在空间上是否与g2相交。

27.两个几何形状的返回点集差异 ST_DIFFERENCE()

脚本

 SET @g11 = Point(1,1), @g12 = Point(2,2);SELECT ST_AsText(ST_Difference(@g11, @g12));

分析

返回一个几何图形,该几何图形表示点集差值 几何值G1G2

结果

28.几何尺寸 ST_DIMENSION()

脚本

SELECT ST_Dimension(ST_GeomFromText('LineString(2 2,4 4)'));

分析

返回几何值g的固有尺寸。维度可以是 −1, 0、1 或 2

结果

29.一个几何图形是否与另一个几何图形不相交 ST_DISJOINT()

脚本

SET @gg1 = ST_GeomFromText('POINT(1 1)');SET @gg2 = ST_GeomFromText('POINT(2 2)');SELECT ST_DISJOINT(@gg1, @gg2);

分析

返回 1 或 0 以指示g1在空间上是否与 (不相交)G2.

结果

30.一个几何图形与另一个几何图形的距离 ST_DISTANCE()

脚本

SET @gg1 = ST_GeomFromText('POINT(1 1)');SET @gg2 = ST_GeomFromText('POINT(2 2)');SELECT ST_Distance(@gg1, @gg2);

分析

返回g1g2之间的距离,以长度测量 几何的空间参考系统 (SRS) 的单位 参数,或者以可选单位参数的单位(如果为 指定。

此函数通过返回 所有组合中的最短距离 两个几何参数的组件。

结果

31.两个几何形状在地球上的最小距离 ST_DISTANCE_SPHERE

脚本

SET @gg1 = ST_GeomFromText('POINT(1 1)');SET @gg2 = ST_GeomFromText('POINT(2 2)');SELECT ST_DISTANCE_SPHERE(@gg1, @gg2);

分析

返回球体之间或参数之间的最小球面距离(以米为单位)

如果两个几何参数都是有效的笛卡尔参数或 SRID 0 中的值,则返回值为最短距离 在球体上的两个几何图形之间,提供 半径。如果省略,则默认半径为 6,370,986 米, 点 X 和 Y 坐标被解释为经度和 纬度,分别以度为单位

如果两个几何参数都有效或在地理中的值 空间参考系统 (SRS),返回值为 球体上两个几何之间的最短距离 提供的半径。如果省略,则默认半径相等 平均半径,定义为 (2a+b)/3,其中 a 是 半长轴和 b 是 SRS 的半短轴

结果

32.线字符串的终点 ST_ENDPOINT()

脚本

SET @ls = 'LineString(1 1,2 2,3 3)';SELECT ST_AsText(ST_EndPoint(ST_GeomFromText(@ls)));

分析

返回作为终结点的 值ls

结果

33.返回几何图形的 MBR ST_ENVELOPE()

脚本

SELECT ST_AsText(ST_Envelope(ST_GeomFromText('LineString(1 1,2 2)')));

分析

返回 几何值 g。结果是 返回的值为 由边界框的角点定义:PolygonPOLYGON((MINX MINY, MAXX MINY, MAXX MAXY, MINX MAXY, MINX MINY))

结果

34.一个几何图形是否等于另一个几何图形 ST_EQUALS()

脚本

SET @g1 = Point(1,1), @g2 = Point(2,2);SELECT ST_Equals(@g1, @g1), ST_Equals(@g1, @g2);

分析

返回 1 或 0 以指示g1在空间上是否等于g2

结果

35.多边形的返回外环 ST_EXTERIORRING()

脚本

SET @poly =       'Polygon((0 0,0 3,3 3,3 0,0 0),(1 1,1 2,2 2,2 1,1 1))'; SELECT ST_AsText(ST_ExteriorRing(ST_GeomFromText(@poly)));

结果

36.一个几何体与另一个几何体的离散弗雷谢距离 ST_FRECHETDISTANCE()

脚本

SET @ls1 = ST_GeomFromText('LINESTRING(0 0,0 5,5 5)');SET @ls2 = ST_GeomFromText('LINESTRING(0 1,0 6,3 3,5 6)');SELECT ST_FrechetDistance(@ls1, @ls2);

分析

返回两个之间的离散弗雷谢距离 几何形状,反映几何形状的相似程度。这 结果是以长度测量的双精度数字 几何的空间参考系统 (SRS) 的单位 参数,或者单位参数的长度单位

此函数实现离散弗雷谢距离, 这意味着它仅限于点之间的距离 的几何形状。例如,给定两个参数,只有点 考虑几何中明确提到的几何形状。 这些点之间的线段上的点不是 考虑

结果

37.生成地理哈希值 ST_GEOHASH()

脚本

SELECT ST_GeoHash(180,0,10), ST_GeoHash(-180,-90,15);

分析

返回连接字符集中的地理哈希字符串,并且 整理。

对于第一个语法,经度必须是 [−180, 180] 范围内的数字,纬度必须是 范围 [−90, 90]。对于第二种语法,需要一个值,其中 X 和 Y 坐标在经度和 纬度,分别

结果

38.从 WKT 返回几何集合 ST_GEOCOLLFROMTEXT() / ST_GEOMETRYCOLLECTIONFROMTEXT() / ST_GEOMCOLLFROMTEXT()

脚本

SET @g = "MULTILINESTRING((10 10, 11 11), (9 9, 10 10))";SELECT ST_AsText(ST_GeomCollFromText(@g));

分析

这些函数将已知文本 (WKT) 作为参数 制图表达和(可选)空间参考系统 标识符 (SRID)。它们返回相应的几何图形。对于一个 WKT 格式的说明,请参阅已知文本 (WKT) 格式。

结果

39.从 WKB 返回几何集合 ST_GEOMCOLLFROMTWKB() /ST_GEOMETRYCOLLECTIONFROMEKB()

分析

官方讲解连接

40.从几何集合中返回第 N 个几何图形 ST_GEOMETRYN()

脚本

SET @gc = 'GeometryCollection(Point(1 1),LineString(2 2, 3 3))';SELECT ST_AsText(ST_GeometryN(ST_GeomFromText(@gc),1));

分析

ST_GEOMETRYN(gc,N)

返回值gc中的第N个几何图形。几何形状已编号 从 1 开始

结果

41.返回几何类型的名称 ST_GEOMETRYTYPE()

脚本

SELECT ST_GeometryType(ST_GeomFromText('POINT(1 1)'));

分析

返回指示几何名称的二进制字符串 几何实例G所属的类型。名称 对应于可实例化的子类之J

结果

42.从 GeoJSON 对象生成几何图形 ST_GEOMFROMGEOJSON()

脚本

SET @json = '{ "type": "Point", "coordinates": [102.0, 0.0]}';SELECT ST_AsText(ST_GeomFromGeoJSON(@json));

分析

分析表示GeoJSON 对象并返回几何图形。

结果

43.从 WKT 返回几何图形ST_GeomFromText()/ ST_GeometryFromText()

分析

官方讲解连接

44.从 WKB 返回几何图形ST_GeomFromWKB ()/ST_GeometryFromWKB()

分析

官方讲解连接

45.一个几何体与另一个几何体的离散豪斯多夫距离ST_HausdorffDistance()

脚本

SET @ls1 = ST_GeomFromText('LINESTRING(0 0,0 5,5 5)');SET @ls2 = ST_GeomFromText('LINESTRING(0 1,0 6,3 3,5 6)');SELECT ST_HausdorffDistance(@ls1, @ls2);

分析

返回两个之间的离散豪斯多夫距离 几何形状,反映几何形状的相似程度。这 结果是以长度测量的双精度数字 几何的空间参考系统 (SRS) 的单位 参数,或者单位参数的长度单位

此函数实现离散豪斯多夫距离, 这意味着它仅限于点之间的距离 的几何形状。例如,给定两个参数,只有点 考虑几何中明确提到的几何形状。 这些点之间的线段上的点不是 考虑

结果

46.返回多边形的第 N 个内环ST_InteriorRingN()

脚本

SET @poly =       'Polygon((0 0,0 3,3 3,3 0,0 0),(1 1,1 2,2 2,2 1,1 1))';SELECT ST_AsText(ST_InteriorRingN(ST_GeomFromText(@poly),1));

分析

ST_InteriorRingN(poly , N)

返回第N个内环 对于值poly作为 .环以编号开头 与 1

结果

47.返回点集 两个几何形状的交集ST_Intersection()

脚本

SET @g1 = ST_GeomFromText('LineString(1 1, 3 3)');SET @g2 = ST_GeomFromText('LineString(1 3, 3 1)');SELECT ST_AsText(ST_Intersection(@g1, @g2));

分析

返回表示点集交集的几何图形 几何值g1g2

结果

48.一个几何图形是否与另一个几何图形相交ST_Intersects()

脚本

SET @g3 = ST_GeomFromText('Polygon((0 0,0 3,3 3,3 0,0 0))');SET @g4 = ST_GeomFromText('Polygon((0 0,0 3,3 3,1 0,0 0))');SELECT ST_Intersects(@g3, @g4);

分析

返回 1 或 0 以指示g1在空间上是否与g2相交。

结果

49.几何图形是否封闭和简单ST_IsClosed()

脚本

SET @ls1 = 'LineString(1 1,2 2,3 3,2 2)';SET @ls2 = 'LineString(1 1,2 2,3 3,1 1)';SELECT ST_IsClosed(ST_GeomFromText(@ls1));

分析

ST_IsClosed(ls)

对于值 ls,ST_IsClosed如果 ls 关闭(即其 ST_StartPoint() 和 ST_EndPoint() 值为 相同)

对于值 ls,如果 ls 关闭,则 ST_IsClosed() 返回 1(即,ST_StartPoint() 和 ST_EndPoint() 值为 LS中每个相同)

如果 ls 未闭合,则 ST_IsClosed() 返回 0

结果

50.几何图形是否为空ST_IsEmpty()

分析

此函数是一个占位符,返回 1 表示空 几何集合值或 0,否则。

唯一有效的空几何以 一个空的几何集合值。MySQL 不支持 地理信息系统值,例如 .EMPTYPOINT EMPTY

51.几何图形是否简单ST_IsSimple()

分析

ST_IsSimple(g)

如果几何值 g 根据 ISO SQL/MM 第 3 部分很简单,则返回 1: 空间标准。ST_IsSimple() 返回 0 如果 这个论点并不简单。

给出的可实例化几何类的描述 在第 11.4.2 节中,“OpenGIS 几何模型”包括 导致类实例 归类为不简单。

ST_IsSimple() 处理其 本节引言中所述的参数, 但此例外:

如果几何具有具有经度或 纬度超出范围,则发生错误:

如果经度值不在范围内 (−180, 180]),发生ER_GEOMETRY_PARAM_LONGITUDE_OUT_OF_RANGE错误 (ER_LONGITUDE_OUT_OF_RANGE在MySQL 8.0.12之前)。

如果纬度值不在 [−90, 90],发生ER_GEOMETRY_PARAM_LATITUDE_OUT_OF_RANGE错误 (ER_LATITUDE_OUT_OF_RANGE MySQL 8.0.12 之前)。

显示的范围以度为单位。确切的范围限制 由于浮点运算而略有偏差。

52.几何图形是否有效ST_IsValid()

脚本

SET @ls1 = ST_GeomFromText('LINESTRING(0 0,-0.00 0,0.0 0)');SET @ls2 = ST_GeomFromText('LINESTRING(0 0, 1 1)');SELECT ST_IsValid(@ls1);

分析

如果参数在几何上有效,则返回 1,如果 参数在几何上无效。几何有效性为 由 OGC 规范定义。

唯一有效的空几何图形以 空几何集合值。ST_IsValid() 在此返回 1 箱。MySQL 不支持 GIS 值,例如 .EMPTYPOINT EMPTY

ST_IsValid() 处理其 本节引言中所述的参数, 但此例外:

如果几何具有具有经度或 纬度超出范围,则发生错误:

如果经度值不在 (−180, 180],发生ER_GEOMETRY_PARAM_LONGITUDE_OUT_OF_RANGE错误 (ER_LONGITUDE_OUT_OF_RANGE在MySQL 8.0.12之前)。

如果纬度值不在 [−90, 90],发生ER_GEOMETRY_PARAM_LATITUDE_OUT_OF_RANGE错误 (ER_LATITUDE_OUT_OF_RANGE MySQL 8.0.12 之前)。

显示的范围以度为单位。如果 SRS 使用其他设备, 该范围使用其单位中的相应值。这 由于浮点数,确切的范围限制略有偏差 算术。

结果

函数大全1

函数大全2

函数大全3

函数大全4

函数大全5

函数大全7

函数大全8