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

Zapytanie MySQL - porównaj numery wersji

Dzięki za wskazówki @symcbean i @gordon-linoff, moje ostatnie zapytanie wygląda tak:

SELECT *
FROM versions WHERE CONCAT(
        LPAD(SUBSTRING_INDEX(SUBSTRING_INDEX(version_number, '.', 1), '.', -1), 10, '0'),
        LPAD(SUBSTRING_INDEX(SUBSTRING_INDEX(version_number, '.', 2), '.', -1), 10, '0'),
        LPAD(SUBSTRING_INDEX(SUBSTRING_INDEX(version_number, '.', 3), '.', -1), 10, '0') 
       ) > CONCAT(LPAD(2,10,'0'), LPAD(1,10,'0'), LPAD(27,10,'0'));

Dzięki temu każdy element może mieć do 10 cyfr.

Przekształca to:

X.XX.XXX > 2.1.27

do tego:

'000000000X00000000XX0000000XXX' > '000000000200000000010000000027'


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wydajność MySQL:wiele tabel a indeks na jednej tabeli i partycjach

  2. Problem z lokalnym hostem MySQL / 127.0.0.1

  3. MySQL nie działa na:mysql BŁĄD 1524 (HY000):Wtyczka 'auth_socket' nie jest załadowana

  4. Jak zaktualizować wiele kolumn w MySQL

  5. mysqldump z wieloma tabelami z klauzulą ​​where lub bez