2020-10-10
SQL语句编写咨询
有一类数据,如有4条数据:1栋101室,20栋202室,恒大名都1栋101室,1栋1单元101室,我现在要前面两条类型数据,就是xx栋xx室的这种,sql应该怎么写,或者什么函数吗?
我来答
添加附件
收藏
分享
问题补充
3条回答
默认
最新
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
墨值悬赏
有一类数据,如有4条数据:1栋101室,20栋202室,恒大名都1栋101室,1栋1单元101室,我现在要前面两条类型数据,就是xx栋xx室的这种,sql应该怎么写,或者什么函数吗?
用正则非常方便:
odb=>
odb=> with qa as(select unnest('{1栋101室,20栋202室,恒大名都1栋101室,1栋1单元101室}'::varchar[]) as name)
odb-> select substring(name,'(\d+栋)')||substring(name,'(\d+室)') from qa;
?column?
-----------
1栋101室
20栋202室
1栋101室
1栋101室
(4 rows)
odb=>
评论
有用 0SQL> with t as
2 (
3 select '1栋101室' as name from dual
4 union all
5 select '20栋202室' from dual
6 union all
7 select '恒大名都1栋101室' from dual
8 union all
9 select '1栋1单元101室' from dual
10 )
11 select * from t
12 where regexp_like(name,'^[[:digit:]]+栋+[[:digit:]]+室$');
NAME
------------------------------------------------------------------
1栋101室
20栋202室
评论
有用 0
墨值悬赏