在 MYSQL 中提取 python 列表值
P粉153503989
2023-09-04 19:35:45
<p>我在 MySQL 資料庫中有一個列,其中包含 <code>json</code> 格式值的 <code>python 清單</code>,如下:</p>
<table class="s-table">
<thead>
<tr>
<th>列</th>
</tr>
</thead>
<tbody>
<tr>
<td>[{"name":"me","color":"red"} , {"name":"you","color":"blue"}]</td>
</tr>
</tbody>
</table>
<p>我無法使用 <code>json_extract()</code> 函數,因為它的格式與 <code>json</code> 不完全相同</p>
<p>我想提取新欄位中已格式化的每個 <code>json</code> ,如下:</p>
<table class="s-table">
<thead>
<tr>
<th>第一列</th>
<th>第二列</th>
</tr>
</thead>
<tbody>
<tr>
<td>{“名稱”:“我”,“顏色”:“紅色”}</td>
<td>{"name":"you","color":"blue"}</td>
</tr>
</tbody>
</table></p>
以下查詢結合字串運算元
SUBSTRING_INDEX
、REPLACE
和CONCAT
將獲得預期結果。這裡是使用 DBFIDDLE 的工作演示
#這給了我預期的輸出:
#
替換為您的實際欄位名稱。我用反引號包圍了列,因為列是 sql 中的保留關鍵字。 ###請將
mytable替換為 your_actual_table_name,並將
column您應該能夠在問題中包含的範例列上使用 JSON_EXTRACT:
輸出: