Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Usuwanie liczb z ciągu w mysql

Sugeruję ręczne utworzenie User Define Function dla tego. Oto świetny samouczek, którego możesz użyć

Fragment kodu:

DELIMITER $$ 

DROP FUNCTION IF EXISTS `uExtractNumberFromString`$$
CREATE FUNCTION `uExtractNumberFromString`(in_string varchar(50)) 
RETURNS INT
NO SQL

BEGIN

    DECLARE ctrNumber varchar(50);
    DECLARE finNumber varchar(50) default ' ';
    DECLARE sChar varchar(2);
    DECLARE inti INTEGER default 1;

    IF length(in_string) > 0 THEN

        WHILE(inti <= length(in_string)) DO
            SET sChar= SUBSTRING(in_string,inti,1);
            SET ctrNumber= FIND_IN_SET(sChar,'0,1,2,3,4,5,6,7,8,9');

            IF ctrNumber > 0 THEN
               SET finNumber=CONCAT(finNumber,sChar);
            ELSE
               SET finNumber=CONCAT(finNumber,'');
            END IF;
            SET inti=inti+1;
        END WHILE;
        RETURN CAST(finNumber AS SIGNED INTEGER) ;
    ELSE
        RETURN 0;
    END IF;

END$$

DELIMITER ;

po utworzeniu funkcji możesz teraz łatwo usunąć liczby z ciągu, na przykład

SELECT uExtractNumberFromString(Season)
FROM   TableName


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak mogę cofnąć instrukcję mysql, którą właśnie wykonałem?

  2. Jak wykonać kopię zapasową bazy danych MySQL w PHP?

  3. Jak SUM i ODEJMOWAĆ za pomocą SQL?

  4. Jak używać mysql w C++?

  5. Jak zmienić katalog danych MySQL?