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

Симулиране на групи за улавяне на регулярни изрази в mysql

След някои опити и грешки стигнах до следната заявка, която прави това, от което се нуждая. По принцип отделям числа от края на низа и след това премахвам толкова много знаци, преди да отделя следващото число. Колоната version1 е ограничена до положителни 2-цифрени числа, но това е ограничение, с което мога да живея в моя случай.

SELECT
    IF(CAST(RIGHT(SUBSTRING_INDEX(LEFT(version,CHAR_LENGTH(version) - CHAR_LENGTH(SUBSTRING_INDEX(version, '.', -3)) - 1), '.', -1),2) AS DECIMAL) > 0, 
        CAST(RIGHT(SUBSTRING_INDEX(LEFT(version,CHAR_LENGTH(version) - CHAR_LENGTH(SUBSTRING_INDEX(version, '.', -3)) - 1), '.', -1),2) AS DECIMAL), 
        CAST(RIGHT(SUBSTRING_INDEX(LEFT(version,CHAR_LENGTH(version) - CHAR_LENGTH(SUBSTRING_INDEX(version, '.', -3)) - 1), '.', -1),1) AS DECIMAL)) AS version1,
    SUBSTRING_INDEX(LEFT(version,CHAR_LENGTH(version) - CHAR_LENGTH(SUBSTRING_INDEX(version, '.', -2)) - 1), '.', -1) as version2,
    SUBSTRING_INDEX(LEFT(version,CHAR_LENGTH(version) - CHAR_LENGTH(SUBSTRING_INDEX(version, '.', -1)) - 1), '.', -1) as version3,
    SUBSTRING_INDEX(version, '.', -1) as version4
FROM Version
HAVING version1 >= 5
;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Версията на php-mysql е в конфликт с Mysql сървъра

  2. Spring Boot JPA:Подаване на множество стойности за един и същ параметър (JPQL)

  3. ЗАРЕЖДАНЕ НА ДАННИ INFILE Код на грешка:13

  4. Doctrine 2 mysql FIELD функция в ред по

  5. Неправилна десетична (целочислена) стойност:' ' mySQL