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

आप MySQL क्वेरी में स्ट्रिंग से संख्यात्मक मान कैसे निकालते हैं?

यह फ़ंक्शन केवल स्ट्रिंग से अंक 0-9 को वापस करने का काम करता है, जो आपकी समस्या को हल करने के लिए अच्छी तरह से काम करता है, भले ही आपके पास कोई भी उपसर्ग या पोस्टफ़िक्स हो।

http://www.artfulsoftware.com/infotree/queries.php ?&bw=1280#815

संदर्भ के लिए यहां कॉपी किया गया:

SET GLOBAL log_bin_trust_function_creators=1;
DROP FUNCTION IF EXISTS digits;
DELIMITER |
CREATE FUNCTION digits( str CHAR(32) ) RETURNS CHAR(32)
BEGIN
  DECLARE i, len SMALLINT DEFAULT 1;
  DECLARE ret CHAR(32) DEFAULT '';
  DECLARE c CHAR(1);

  IF str IS NULL
  THEN 
    RETURN "";
  END IF;

  SET len = CHAR_LENGTH( str );
  REPEAT
    BEGIN
      SET c = MID( str, i, 1 );
      IF c BETWEEN '0' AND '9' THEN 
        SET ret=CONCAT(ret,c);
      END IF;
      SET i = i + 1;
    END;
  UNTIL i > len END REPEAT;
  RETURN ret;
END |
DELIMITER ;

SELECT digits('$10.00Fr'); 
#returns 1000


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL क्वेरी एकाधिक तालिकाओं से डेटा लौटाती है

  2. PHP से SSL के साथ दूरस्थ MySQL सर्वर से कनेक्ट करें

  3. MySQL के लिए पूर्व समकक्ष से कनेक्ट करें

  4. GTID के साथ MySQL 5.6 गैर-GTID से MySQL 5.7 में ऑनलाइन स्थानांतरण

  5. पीडीओ ने वाइल्डकार्ड के साथ बयान तैयार किए