1. 程式人生 > 其它 >SQL技巧:利用REGEXP_replace完成欄位內容計數

SQL技巧:利用REGEXP_replace完成欄位內容計數

背景:有個欄位裡面可能一項或多項調查資料,欄位和期望所得數如下:

title

["戒驕戒躁,寵辱不驚"] #期望得到數字:2

["輕率","躁動","不善言","疏忽","好為人師"]#期望得到數字:5

解決:

1、由於Mysql5.8好像還沒有regex_count型別的函式,所以只能另想辦法。

2、思路:將不是"的內容去除(替換為空),然後再統計"的個數,再除以2即可。

程式碼:

select 
title,
REGEXP_replace(title,'[^"]','') title1,
LENGTH(REGEXP_replace(title,'[^"]','')) title_count
from (
	select  '["戒驕戒躁,寵辱不驚"]' title
	union all
	select  '["輕率","躁動","不善言","疏忽","好為人師"]' title
) t1

返回:

title title1 title_count
["戒驕戒躁,寵辱不驚"] "" 2
["輕率","躁動","不善言","疏忽","好為人師"] """""""""" 10

本文來自部落格園,作者:xiaoyongdata(微訊號:xiaoyongdata),轉載請註明原文連結:https://www.cnblogs.com/xiaoyongdata/p/15799509.html