大学生村官

各地
招考

您当前位置:大学生村官公务员考试网 > 村官 > 招考 > 招考信息 > 澳门·永利集团3044-V53.8(2025已更新)

澳门·永利集团3044-(中国)IOS/安卓版手机APP官网下载V25.7

2025-2-22 23:37:19 大学生村官 / 文章来源: 文笔峰, 韦罗妮卡·卡雷拉·查帕罗

澳门·永利集团3044-最新版V69.3

近日,广东省举办了一场别开生面的健康生活方式推广活动,吸引了众多市民参与。活动旨在提高公众对健康生活方式的认识,倡导科学饮食、规律运动和心理健康等理念。

活动现场设置了多个展区,提供健康知识讲座、营养咨询、运动演示等丰富内容。专业人士通过生动的讲解和互动,让参与者深入了解如何通过合理膳食和适量锻炼来提升生活质量。此外,活动还特别注重心理健康,邀请心理专家分享压力管理和情绪调节的技巧。

据了解,此次活动得到了政府和社区的广泛支持,许多志愿者也积极参与到活动的组织与宣传中。通过此次活动,广东省希望能够进一步推动健康生活方式的普及,提升市民的健康素养,为建设健康广东贡献力量。

附件:澳门·永利集团3044-(2025已更新(V96/AI回答).xlsx

(编辑:孙辉,何秀英)
活动推荐
热门课程
联系方式

贴心微信客服

微信客服:识别二维码添加客服
关注我们:后台留言
精品内容抢先看,专业客服答疑

贴心微博客服

微信客服:识别二维码添加客服
验证信息:国考
有问题找图图,答疑解惑小帮手
热销书课
公务员
事业单位
金融
军队文职
医疗
公安招警
公选遴选
更多
有报考疑惑?在线客服随时解惑

公告啥时候出?

报考问题解惑?报考条件?

报考岗位解惑   怎么备考?

冲刺资料领取?

Oracle 以逗号分隔的字符串拆分为多行数据实例详解 - 零玖博客
零玖博客

Oracle 以逗号分隔的字符串拆分为多行数据实例详解

前言

近期在工作中遇到某表某字段是可扩展数据内容,信息以逗号分隔生成的,现需求要根据此字段数据在其它表查询相关的内容展现出来,第一想法是切割数据,以逗号作为切割符,以下为总结的实现方法,以供大家参考、指教。

1 、 regexp_substr 函数,通过正则来拆分字符串,函数用法为:(必须是 oracle 10g+的版本才支持)

REGEXP_SUBSTR 函数格式如下:

function REGEXP_SUBSTR(String, pattern, position, occurrence, modifier)

__srcstr :需要进行正则处理的字符串

__pattern :进行匹配的正则表达式

__position :起始位置,从第几个字符开始正则表达式匹配 (默认为 1)

__occurrence :获取第几个分割出来的组 (分割后最初的字符串会按分割的顺序排列成组),默认为 1

__modifier :模式 ('i'不区分大小写进行检索;'c'区分大小写进行检索。默认为'c'。) 针对的是正则表达式里字符大小写的匹配


 

此函数只能每次取一个字符串出来,有点鸡肋,字符串中逗号的数量是不确定的,如果有 2 个逗号,需要提取的字段就是 3 个。为了确定有多少个需要提取的字段,需要用到 connect by 命令实现动态参数构造连续的值,通过原字符串长度和被替换后字符串长度相减,可以得到原字符串中的逗号数量,加 1 后得到需要提取的匹配字段数量。

SQL:

select bs from cs1_0 where slid='201804100038'
--正则分割后的第一个值
SELECT REGEXP_SUBSTR((select bs from cs1_0 where slid='201804100038'),'[^,]+',1,1,'i') as 分割后结果 FROM DUAL;
--获取一个多个数值的列,从而能够让结果以多行的形式展示出来 
SELECT LEVEL FROM DUAL CONNECT BY LEVEL <=5;
--将上面 REGEXP_SUBSTR 的 occurrence(标识第几个匹配组) 实现动态参数,使用 connect by 组合起来
SELECT REGEXP_SUBSTR((select bs from cs1_0 where slid='201804100038'),'[^,]+',1,LEVEL,'i') as 分割后结果 FROM DUAL CONNECT BY LEVEL <=5;
--优化一下 (动态获匹配组标识行数)
select regexp_substr((select bs from cs1_0 where slid='201804100038'),'[^,]+',1,LEVEL,'i') as 分割后结果 from dual 
connect by level <= length((select bs from cs1_0 where slid='201804100038'))-length(regexp_replace((select bs from cs1_0 where slid='201804100038'),',',''))+1;

 


2 、以 Type 类型和 function 函数的方式实现

1) 建立 TYPE 类型


CREATE OR REPLACE TYPE strsplit_type_12 IS TABLE OF VARCHAR2 (4000)

2) 建立 function 存储函数
create or replace function strsplit_66(p_value varchar2,p_split varchar2 )  --字符串,切割符
--根据特定字符来切割字符串
return strsplit_type_12
pipelined is
v_idx       integer;
v_str       varchar2(500);
v_strs_last varchar2(4000) := p_value;

begin
loop
  v_idx := instr(v_strs_last, p_split);
  exit when v_idx = 0;
  v_str       := substr(v_strs_last, 1, v_idx - 1);
  v_strs_last := substr(v_strs_last, v_idx + 1);
  pipe row(v_str);
end loop;
pipe row(v_strs_last);
return;
end strsplit_66;

SELECT ROWNUM 序号, a.* FROM TABLE(strsplit_66((select bs from cs1_0 where slid='201804100038'), ',')) a;

 

测试一下:

内容转载自网络,仅供自身学习收藏使用,侵删。

退出移动版