Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL премахва нечислови знаци за сравнение

Давам си сметка, че това е древна тема, но при гугъл този проблем не можах да намеря просто решение (видях почтените агенти, но мисля, че това е по-просто решение), така че ето една функция, която написах, изглежда работи доста добре.

DROP FUNCTION IF EXISTS STRIP_NON_DIGIT;
DELIMITER $$
CREATE FUNCTION STRIP_NON_DIGIT(input VARCHAR(255))
   RETURNS VARCHAR(255)
BEGIN
   DECLARE output   VARCHAR(255) DEFAULT '';
   DECLARE iterator INT          DEFAULT 1;
   WHILE iterator < (LENGTH(input) + 1) DO
      IF SUBSTRING(input, iterator, 1) IN ( '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' ) THEN
         SET output = CONCAT(output, SUBSTRING(input, iterator, 1));
      END IF;
      SET iterator = iterator + 1;
   END WHILE;
   RETURN output;
END
$$


  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:Преобразуване на MySQL в MariaDB

  2. MySQL - колко реда мога да вмъкна в един оператор INSERT?

  3. Вмъкване на данни от една таблица в друга в MySQL

  4. Инсталирайте MySQL на Ubuntu без подкана за парола

  5. Схема за експортиране на MySql без данни