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

MYSQL избира част от низ и подрежда по това парче

Предлагам ви да разгледате MySQL низови функции и по-конкретно SUBSTRING_INDEX функция. Причината да предложа този през SUBSTRING е защото числото преди или след наклонената черта може да е повече от едно число, което би накарало дължината на първата и/или втората част да варира.

Пример:

SELECT   `info`,
         SUBSTRING_INDEX(`info`, '/', 1) AS `first_part`,
         SUBSTRING_INDEX(`info`, '/', -1) AS `second_part`
FROM     `table`
ORDER BY `first_part` ASC,
         `second_part` ASC;

Резултат:

Допълнителен пример

В този пример използвам CAST за да преобразувате втората част в цяло число без знак, само в случай, че съдържа допълнителни знаци като символи или букви. С други думи, втората част на "web-4/15." ще бъде "15", а втората част от "web-4/15****" също ще бъде "15".

SELECT   `info`,
          SUBSTRING_INDEX(`info`, '/', 1) AS `first_part`,
          CAST(SUBSTRING_INDEX(`info`, '/', -1) AS UNSIGNED) `second_part`
FROM     `table`
ORDER BY `first_part` ASC,
         `second_part` ASC;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. utf8_bin срещу utf_unicode_ci

  2. Как мога да задам двигателя за съхранение по подразбиране, използван от MySQL?

  3. C# и MySQL .NET конектор - Някакъв начин за предотвратяване на атаки с инжектиране на SQL в общ клас?

  4. Изтриване на всички записи на таблица, които не са препратки от друга таблица

  5. Използване на наклонени черти след mysql_real_escape_string