达梦兼容mysql函数

返回
Author Avatar
钢翼
2020-12-18
编程
63
  
-- st_astext
CREATE OR REPLACE FUNCTION  st_astext(
GEO ST_GEOMETRY ) 
RETURN CLOB
AS  
BEGIN  
	RETURN dmgeo.st_astext(GEO); 
END;   

-- st_length
CREATE OR REPLACE FUNCTION st_length (
GEO ST_GEOMETRY
)RETURN INT
AS 
BEGIN
    RETURN dmgeo.st_length(GEO);
END; 

-- ST_DISTANCE
CREATE OR REPLACE FUNCTION ST_DISTANCE (
G1 ST_GEOMETRY,
G2 ST_GEOMETRY
) RETURN DOUBLE
AS
BEGIN
	RETURN dmgeo.ST_DISTANCE(G1,G2);
END;

-- ST_GeomFromText 达梦的是两个入参,这里改成一个入参
CREATE OR REPLACE  FUNCTION ST_GeomFromText(
WKT CLOB
)RETURN ST_GEOMETRY
AS  
BEGIN  
	RETURN dmgeo.ST_GeomFromText(WKT,0); 
END;   

-- DATE_FORMAT 兼容mysql的DATE_FORMAT
CREATE OR REPLACE  FUNCTION DATE_FORMAT(
d datetime,
format varchar(100)
)RETURN varchar(100)
AS  
declare 
temp varchar(100);
BEGIN  
	temp := REPLACE(format,'%Y','YYYY');
 	temp := REPLACE(temp,'%m','mm');
    temp := REPLACE(temp,'%d','dd');
	return to_char(d,temp);
END;   



-- MBRWithin 兼容mysql的MBRWithin
CREATE OR REPLACE  FUNCTION MBRWithin(
G1 ST_GEOMETRY,
G2 ST_GEOMETRY
)RETURN INT
AS   
BEGIN  	 
	return dmgeo.ST_WITHIN(G1,G2);
END;