0
点赞
收藏
分享

微信扫一扫

MySQL --- 函数大全 6

迎月兮 2022-12-17 阅读 215

目录

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;

分析

结果

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);

分析

结果

 

举报

相关推荐

0 条评论