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

Zamienić wartość w ciągu znaków oddzielonych przecinkami w MySQL?

Hmm... może to?

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 ...;

Wymień rzeczy w razie potrzeby, ale to powinno wystarczyć.

EDYTUJ :Scalone w jedno zapytanie:

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

To +1 może wymagać +2 , nie jestem pewien, ale to powinno działać.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wykonywanie obliczeń w domyślnej wartości MySQL

  2. com.mysql.jdbc.PacketTooBigException

  3. Połącz się z mysql w kontenerze docker z hosta

  4. Zapytania dotyczące wydajności Phalcon

  5. Jak zaktualizować bazę danych mysql bez przeładowywania strony?