目录
1.结果集的分区中的每一行分配一个连续的整数 ROW_NUMBER()
4.将秒转换为“hh:mm:ss”格式 SEC_TO_TIME()
6.计算 SHA-1 160 位校验和 SHA1() / SHA()
13.阻止,直到复制副本读取并应用了所有更新,直到 指定位置 SOURCE_POS_WAIT()
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()
24.一个几何图形是否包含另一个几何图形 ST_CONTAINS()
26.一个几何图形是否与另一个几何图形相交 ST_CROSSES()
27.两个几何形状的返回点集差异 ST_DIFFERENCE()
29.一个几何图形是否与另一个几何图形不相交 ST_DISJOINT()
30.一个几何图形与另一个几何图形的距离 ST_DISTANCE()
31.两个几何形状在地球上的最小距离 ST_DISTANCE_SPHERE
34.一个几何图形是否等于另一个几何图形 ST_EQUALS()
36.一个几何体与另一个几何体的离散弗雷谢距离 ST_FRECHETDISTANCE()
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()
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;
分析
结果
2.将字符串追加到指定的数量 RPAD()
脚本
SELECT RPAD('hello',6,'***');
分析
结果
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');
分析
结果
7.计算 SHA-2 校验和 SHA2()
脚本
SELECT SHA2('ABC',224);
分析
结果
8.返回参数的符号 SIGN()
脚本
select sign(10), sign(-5), sign(0);
分析
结果
9.返回参数的正弦值 SIN()
脚本
select sin(pi()),sin(0);
结果
10.睡眠数秒 SLEEP()
脚本
select sleep(10);
分析
结果
11.返回一个声音字符串 SOUNDEX()
脚本
SELECT SOUNDEX('Hello'),SOUNDEX('ABC');
分析
结果
12.比较声音 SOUNDS LIKE
脚本
SELECT 'Abc' SOUNDS LIKE 'Abc','abc' SOUNDS LIKE 'bcd';
分析
结果
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));
分析
结果
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)));
分析
结果
18.从几何生成地理 JSON 对象 ST_ASGEOJSON()
脚本
SELECT ST_AsGeoJSON(ST_GeomFromText('POINT(11.11111 12.22222)'),2);
分析
结果
19.从内部几何格式转换为 WKT ST_ASTEXT() / ST_ASWKT()
脚本
SET @g = 'LineString(1 1,2 2,3 3)';
SELECT ST_AsText(ST_GeomFromText(@g));
分析
结果
20.返回距几何给定距离内的点的几何 ST_BUFFER()
脚本
SET @pt = ST_GeomFromText('POINT(0 0)');
SELECT ST_AsText(ST_Buffer(@pt, 0));
分析
结果
21.生成 ST_Buffer() 的策略选项 ST_BUFFER_STARTEGY()
分析
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);
分析
结果
25.返回几何形状的凸包 ST_CONVEXHULL()
脚本
SET @g = 'MULTIPOINT(5 0,25 0,15 10,15 25)';
SELECT ST_AsText(ST_ConvexHull(ST_GeomFromText(@g)));
分析
结果
26.一个几何图形是否与另一个几何图形相交 ST_CROSSES()
分析
27.两个几何形状的返回点集差异 ST_DIFFERENCE()
脚本
SET @g11 = Point(1,1), @g12 = Point(2,2);
SELECT ST_AsText(ST_Difference(@g11, @g12));
分析
结果
28.几何尺寸 ST_DIMENSION()
脚本
SELECT ST_Dimension(ST_GeomFromText('LineString(2 2,4 4)'));
分析
结果
29.一个几何图形是否与另一个几何图形不相交 ST_DISJOINT()
脚本
SET @gg1 = ST_GeomFromText('POINT(1 1)');
SET @gg2 = ST_GeomFromText('POINT(2 2)');
SELECT ST_DISJOINT(@gg1, @gg2);
分析
结果
30.一个几何图形与另一个几何图形的距离 ST_DISTANCE()
脚本
SET @gg1 = ST_GeomFromText('POINT(1 1)');
SET @gg2 = ST_GeomFromText('POINT(2 2)');
SELECT ST_Distance(@gg1, @gg2);
分析
结果
31.两个几何形状在地球上的最小距离 ST_DISTANCE_SPHERE
脚本
SET @gg1 = ST_GeomFromText('POINT(1 1)');
SET @gg2 = ST_GeomFromText('POINT(2 2)');
SELECT ST_DISTANCE_SPHERE(@gg1, @gg2);
分析
结果
32.线字符串的终点 ST_ENDPOINT()
脚本
SET @ls = 'LineString(1 1,2 2,3 3)';
SELECT ST_AsText(ST_EndPoint(ST_GeomFromText(@ls)));
分析
结果
33.返回几何图形的 MBR ST_ENVELOPE()
脚本
SELECT ST_AsText(ST_Envelope(ST_GeomFromText('LineString(1 1,2 2)')));
分析
结果
34.一个几何图形是否等于另一个几何图形 ST_EQUALS()
脚本
SET @g1 = Point(1,1), @g2 = Point(2,2);
SELECT ST_Equals(@g1, @g1), ST_Equals(@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);
分析
结果
37.生成地理哈希值 ST_GEOHASH()
脚本
SELECT ST_GeoHash(180,0,10), ST_GeoHash(-180,-90,15);
分析
结果
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));
分析
结果
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));
分析
结果
41.返回几何类型的名称 ST_GEOMETRYTYPE()
脚本
SELECT ST_GeometryType(ST_GeomFromText('POINT(1 1)'));
分析
结果
42.从 GeoJSON 对象生成几何图形 ST_GEOMFROMGEOJSON()
脚本
SET @json = '{ "type": "Point", "coordinates": [102.0, 0.0]}';
SELECT ST_AsText(ST_GeomFromGeoJSON(@json));
分析
结果
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);
分析
结果
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));
分析
结果
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));
分析
结果
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);
分析
结果
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));
分析
结果
50.几何图形是否为空 ST_IsEmpty()
分析
51.几何图形是否简单 ST_IsSimple()
分析
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);
分析
结果