cari

Rumah  >  Soal Jawab  >  teks badan

Gantikan nilai tertentu dalam senarai dipisahkan koma menggunakan SQL

<p>Saya perlu menggantikan nilai tertentu dalam senarai dipisahkan koma. </p> <p>Sebagai contoh, katakan saya mempunyai lajur bernama Teg, diisi dengan kandungan berikut: Cuti, Cuti 2023, Ujian. </p> <p>Saya hanya perlu menggantikan perkataan 'Cuti' dengan 'Cuti', tetapi saya tidak mahu menggantikan 'Cuti 2023' dengan 'Cuti 2023'. </p> <p>Saya cuba menggunakan fungsi ganti dan LIKE dalam klausa WHERE, tetapi ia tidak berjaya. Saya menggunakan PHP sebagai backend, tetapi saya tidak tahu bagaimana untuk mengelakkan ini. </p> <p>Berikut ialah SQL yang saya gunakan:</p><p> <kod>KEMASKINI Perbelanjaan SET Teg = GANTI(Teg, :asli, :ganti), Tarikh_kemaskini = :tarikh_kemas kini DI MANA Id_user = :id_user DAN Teg SUKA :original_like</code></p> <ul> <li><em>:original</em> mengandungi senarai: <strong>Cuti, Cuti 2023, Ujian</strong></li> <li><em>:ganti</em> hanya mengandungi perkataan <strong>Cuti</strong></li> </ul><p><br /></p>
P粉248602298P粉248602298484 hari yang lalu489

membalas semua(1)saya akan balas

  • P粉180844619

    P粉1808446192023-08-09 16:23:28

    Tambahkan koma dan ruang di hadapan sebelum nilai anda, kemudian tambahkan koma di belakang - kemudian gantikan , Cuti, dengan , Cuti,.
    nAlih keluar koma di hadapan dan di belakang dalam keputusan sekali lagi selepas itu

    SELECT TRIM(',' FROM REPLACE(CONCAT(', ', Tags, ','), ', Holidays,', ', Holiday,'))

    Contoh menggunakan nilai tertentu No Holidays, Holidays, Holidays 2023, Holidays, Test, Holidays dimasukkan terus dan bukannya mendapatkannya dari lajur cuti:

    SELECT TRIM(',' FROM REPLACE(
      CONCAT(', ', 'No Holidays, Holidays, Holidays 2023, Holidays, Test, Holidays', ','),
      ', Holidays,',
      ', Holiday,')
    )

    Hasilnya ialah:

    No Holidays, Holiday, Holidays 2023, Holiday, Test, Holiday

    balas
    0
  • Batalbalas