Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Ganti nilai dalam string yang dibatasi koma di MySQL?

Hmm... mungkin ini?

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

Ganti hal-hal yang diperlukan, tetapi itu harus dilakukan.

EDIT :Digabung menjadi satu kueri:

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

+1 itu mungkin perlu +2 , Saya tidak yakin, tapi itu seharusnya berhasil.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. pilih * dari dua tabel dengan # kolom yang berbeda

  2. Tidak dapat terhubung ke MySQL di Cloudbees CommunicationsException:Kegagalan tautan komunikasi

  3. pilih kolom sebagai benar / salah jika id ada di tabel lain

  4. GROUP_CONCAT() jumlah baris saat dikelompokkan berdasarkan bidang teks

  5. Hapus kueri yang tidak berfungsi di mysql