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

Разбийте данните на колони в mysql

Можете да напишете персонализирана MySQL функция, наречена дефинирана от потребителя функция който може да получи името на променливата и стойността за търсене и след това да върне реда или идентификатора и т.н., както ви е необходимо.

В тази функция ще трябва да преминете през всички редове в курсора само за четене и да използвате SUBSTRING_INDEX() за да получите стойностите поотделно и да проверите за съвпадение.

Ако имате нужда от допълнителна помощ, уведомете ме.

За повече информация разгледайте ръководството на MySQL за стринг функции тук .

Извадка от потребителски коментар от горната връзка, която може да ви помогне да напишете функцията:Това ще раздели IP адреса („a.b.c.d“) на 4 съответни октета:

SELECT
`ip` , 
SUBSTRING_INDEX( `ip` , '.', 1 ) AS a,
SUBSTRING_INDEX(SUBSTRING_INDEX( `ip` , '.', 2 ),'.',-1) AS b, 
SUBSTRING_INDEX(SUBSTRING_INDEX( `ip` , '.', -2 ),'.',1) AS c,
SUBSTRING_INDEX( `ip` , '.', -1 ) AS d
FROM log_table



  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

  2. Изпълнете MySQL INSERT Query няколко пъти (вмъкнете стойности в множество таблици)

  3. Получаване на org.hibernate.TransactionException:вложените транзакции не се поддържат грешка при изтриване

  4. MySQL:Не вмъквайте нов ред, ако определените редове са еднакви

  5. Не можете да заредите часови зони?