效果图 为
40 0
30 0
41 0
31 1
56 0.85
需要截取的字段 为
[40,35,41]=0=0;[31,37,36,34,39,21,20,22,25,26,24,23,27,33,38,50,57,53,52,54,59,55,51,56,58,11,10,12]=0=1.00;
求解 急。。
效果图 为
40 0
30 0
41 0
31 1
56 0.85
需要截取的字段 为
[40,35,41]=0=0;[31,37,36,34,39,21,20,22,25,26,24,23,27,33,38,50,57,53,52,54,59,55,51,56,58,11,10,12]=0=1.00;
求解 急。。
参考GPT和自己的思路:
根据你的需求,可以使用SQL中的字符串函数和正则表达式来实现截取所需的数据。
针对你的例子,你需要截取出[]中的每一行数据和=后的数据,可以使用正则表达式将其匹配出来。
具体方法如下:
例如:
SELECT SUBSTRING(column_name, CHARINDEX('[', column_name) + 1, CHARINDEX(']', column_name) - CHARINDEX('[', column_name) - 1) as bracket_content
FROM table_name;
这里的column_name指的是包含需要截取的内容的列名,table_name则是包含该列的表名。这条语句将会返回[]中的内容,即:
40,35,41=0=0;31,37,36,34,39,21,20,22,25,26,24,23,27,33,38,50,57,53,52,54,59,55,51,56,58,11,10,12=0=1.00
SELECT value
FROM unnest(regexp_split_to_array(bracket_content, ';')) WITH ORDINALITY t(value, rn)
WHERE t.rn%2=0;
这里的regexp_split_to_array将[]中的内容按照分号进行拆分,并返回一个数组,然后我们再将其转换成行形式,其中WITH ORDINALITY可以保证每个行的顺序。
最后,我们通过取出数组下标为偶数的元素,即=后的数据,即可得到最终结果:
0
0
1.00
以上就是使用SQL截取[]里的每一行数据和=后的数据的具体方法。