暂无图片
SQL语句编写咨询
我来答
分享
汤姆凯特
2020-10-10
SQL语句编写咨询

有一类数据,如有4条数据:1栋101室,20栋202室,恒大名都1栋101室,1栋1单元101室,我现在要前面两条类型数据,就是xx栋xx室的这种,sql应该怎么写,或者什么函数吗?

我来答
添加附件
收藏
分享
问题补充
3条回答
默认
最新
章芋文

用正则非常方便:

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=>
暂无图片 评论
暂无图片 有用 0
肖杰
SQL> 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
行者

没有写哪种数据库和相关版本哦,不同数据库SQL的写法有差异

暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏