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

Замяна на стойност в разделен със запетая низ в MySQL?

Хм... може би това?

SELECT @before := CONCAT(SUBSTRING_INDEX(`columnname`,',',3),','),
       @len := LENGTH(SUBSTRING_INDEX(`columnname`,',',4)+1
FROM `tablename` WHERE ...;

SELECT CONCAT(@before,'newstring',SUBSTRING(`columnname`,@len+1)) AS `result`
FROM `tablename` WHERE ...;

Сменете нещата, ако е необходимо, но това би трябвало да свърши работа.

РЕДАКТИРАНЕ :Обединено в една заявка:

SELECT
    CONCAT(
        SUBSTRING_INDEX(`columnname`,',',3),
        ',newstring,',
        SUBSTRING(`columnname`, LENGTH(SUBSTRING_INDEX(`columnname`,',',4)+1))
    ) as `result`
FROM `tablename` WHERE ...;

Това +1 може да се наложи да е +2 , не съм сигурен, но това трябва да работи.



  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 LEFT JOIN, GROUP BY и ORDER BY не работят според изискванията

  2. Ненужни заявки в Hibernate - MySql

  3. изтичане на памет в php скрипт

  4. Оптимална MySQL-конфигурация (my.cnf)

  5. SQL:Синтактична грешка с intersect?