MySQL 저장 함수

1 개요[ | ]

MySQL stored function; MySQL function
MySQL 저장 함수, MySQL 펑션

2 예시: 결과 포함[ | ]

CREATE FUNCTION hello (s CHAR(20))
  RETURNS CHAR(50) DETERMINISTIC
RETURN CONCAT('Hello, ',s,'!');
mysql> SELECT hello('world');
+----------------+
| hello('world') |
+----------------+
| Hello, world!  |
+----------------+
1 row in set (0.00 sec)

3 예시: 결과 생략[ | ]

CREATE FUNCTION F_TEST(PID INT)
  RETURNS VARCHAR
BEGIN
  DECLARE NAME_FOUND VARCHAR DEFAULT "";
  SELECT EMPLOYEE_NAME INTO NAME_FOUND FROM TABLE_NAME WHERE ID = PID;
  RETURN NAME_FOUND;
END
  • 경위도 2지점 사이의 거리(km)
CREATE FUNCTION  geodistkm (lat1 FLOAT, lon1 FLOAT, lat2 FLOAT, lon2 FLOAT) 
  RETURNS FLOAT
BEGIN
  DECLARE pi, q1, q2, q3 FLOAT;
  DECLARE rads FLOAT DEFAULT 0;
  SET pi = PI();
  SET lat1 = lat1 * pi / 180;
  SET lon1 = lon1 * pi / 180;
  SET lat2 = lat2 * pi / 180;
  SET lon2 = lon2 * pi / 180;
  SET q1 = COS(lon1-lon2);
  SET q2 = COS(lat1-lat2);
  SET q3 = COS(lat1+lat2);
  SET rads = ACOS( 0.5*((1.0+q1)*q2 - (1.0-q1)*q3) ); 
  RETURN 6378.388 * rads;
END

4 같이 보기[ | ]

5 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}