Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

मैं अपनी MySQL क्वेरी में फ़ंक्शन का उपयोग कैसे कर सकता हूं?

मैंने नीचे दिए गए फ़ंक्शन को MYSQL में बनाया है

DELIMITER $$    
DROP FUNCTION IF EXISTS `great_circle_distance`$$
    CREATE DEFINER=`root`@`localhost` FUNCTION `great_circle_distance`(
    lat1 DOUBLE(10,6),
    lon1 DOUBLE(10,6),
    lat2 DOUBLE(10,6),
    lon2 DOUBLE(10,6)
    ) RETURNS double(10,2)
        DETERMINISTIC
    BEGIN
                    DECLARE delta_lat DOUBLE(10,6);
                    DECLARE delta_lon DOUBLE(10,6);
                    DECLARE temp1 DOUBLE(10,6);
                    DECLARE EARTH_RADIUS DOUBLE(10,2);
                    DECLARE distance DOUBLE(10,2);
                    SET lat1 = RADIANS(lat1);
                    SET lon1 = RADIANS(lon1);
                    SET lat2 = RADIANS(lat2);
                    SET lon2 = RADIANS(lon2);
                    SET delta_lat = lat2 - lat1;
                    SET delta_lon = lon2 - lon1;

                    SET temp1 = pow(sin(delta_lat/2.0),2) + cos(lat1) * cos(lat2) * pow(sin(delta_lon/2.0),2);
                    SET EARTH_RADIUS = 3956.0;
                    SET distance = EARTH_RADIUS * 2 * atan2(sqrt(temp1),sqrt(1-temp1));
                    RETURN distance;
        END$$

    DELIMITER ;

इसे

. के रूप में उपयोग करना
Select great_circle_distance(z.lat,z.log, 32.2342,-72.42342) AS Distance from tbl_abc AS z;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql_fetch_array () को कॉल करते समय आपूर्ति की गई तर्क प्राप्त करना वैध MySQL परिणाम संसाधन नहीं है

  2. जब सर्वर तक नहीं पहुंचा जा सकता है तो PHP का पीडीओ MySQL के लिए ATTR_TIMEOUT विकल्प को अनदेखा कर रहा है

  3. MySQL FIND_IN_SET का उपयोग करके कई दिशाओं का आदेश देता है

  4. JDBC बनाम हाइबरनेट

  5. अजाक्स के साथ डेटाटेबल सर्वरसाइड का उपयोग करने के बाद अच्छी तरह से काम नहीं कर रहा है:सच