替換使用SQL的逗號分隔清單中的特定值
P粉248602298
2023-08-08 17:29:43
<p>我需要在逗號分隔的清單中取代特定的值。 </p>
<p>例如,假設我有列名為Tags的列,填入以下內容:Holidays, Holidays 2023, Test。 </p>
<p>我只需要將單字'Holidays'替換為'Holiday',但是我不希望將'Holidays 2023'替換為'Holiday 2023'。 </p>
<p>我嘗試使用replace函數和WHERE子句中的LIKE,但是它不起作用。我正在使用PHP作為後端,但我不知道如何避免這種情況。 </p>
<p>以下是我使用的SQL:</p><p>
<code>UPDATE Expenses SET Tags = REPLACE(Tags, :original, :replace), Updated_date = :update_date WHERE Id_user = :id_user AND Tags LIKE :original_like</code>
<ul>
<li><em>:original</em> contain the list: <strong>Holidays, Holidays 2023, Test</strong></li>
<li><em>:replace</em> contain only the word <strong>Holiday</strong></li>
</ul><p><br /></p>
在您的值之前加上一個前導逗號和空格,然後加上一個尾隨逗號-然後將其中的, Holidays, 替換為 , Holiday,。
n在之後再次刪除結果中的前導和尾隨逗號
使用特定值範例
No Holidays, Holidays, Holidays 2023, Holidays, Test, Holidays
inserted directly instead of getting it from the 直接插入而不是從標籤列中取得的假期 column:會導致的結果為: