如何用sql取二级域名?急100分

cinderella_m 2008-11-04 01:57:13
比如:http://www.csdn.net/point.aspx
如何获得字符串“.csdn.net”
...全文
246 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
cinderella_m 2008-11-04
  • 打赏
  • 举报
回复
谢谢,原来正则表达式这么厉害呀。看来我要好好学学这个了,谢谢oracledbalgtu !不愧是oracle senior dba~~~
oracledbalgtu 2008-11-04
  • 打赏
  • 举报
回复
SELECT RTRIM(REGEXP_SUBSTR('http://www.csdn.net/point.aspx', '\..+/'),
'/')
FROM DUAL;


[Quote=引用 8 楼 cinderella_m 的回复:]
oracledbalgtu
这个是对的,谢谢了,不过没有看明白。
大家帮忙解释一下吧,
还有,我想或者的是“.csdn.net” 就是前面还有一个点。。
谢谢
[/Quote]
cinderella_m 2008-11-04
  • 打赏
  • 举报
回复
oracledbalgtu
这个是对的,谢谢了,不过没有看明白。
大家帮忙解释一下吧,
还有,我想或者的是“.csdn.net” 就是前面还有一个点。。
谢谢
chenqingyu 2008-11-04
  • 打赏
  • 举报
回复
两种方法:
1.5楼的正则,这个比较酷.
2.用substr+instr,无非就是第一个.和第三个/之间的串.
sten 2008-11-04
  • 打赏
  • 举报
回复
SELECT substr('http://www.csdn.net/point.aspx',
instr('http://www.csdn.net/point.aspx', '.', 1),
instr('http://www.csdn.net/point.aspx', '/', 1, 3) -
instr('http://www.csdn.net/point.aspx', '.', 1))
FROM dual;
oracledbalgtu 2008-11-04
  • 打赏
  • 举报
回复
10g的方法:
SELECT RTRIM(LTRIM(REGEXP_SUBSTR('http://www.csdn.net/point.aspx', '\..+/'),
'.'),
'/')
FROM DUAL;



[Quote=引用楼主 cinderella_m 的帖子:]
比如:http://www.csdn.net/point.aspx
如何获得字符串“.csdn.net”
[/Quote]
BlueskyWide 2008-11-04
  • 打赏
  • 举报
回复

--做了个取二级域名的函数,请LZ参考一下:

SQL> CREATE OR REPLACE FUNCTION f_twodomain(http0 IN varchar2) RETURN varchar2 IS
2 v_str_twodomain varchar2(80);
3 begin
4 For i in 12..100
5 Loop
6 if ascii(substr(http0,i,1))=47 then
7 return v_str_twodomain;
8 end if;
9 v_str_twodomain:=v_str_twodomain || substr(http0,i,1);
10 End loop;
11 end;
12 /

Function created

SQL> select f_twodomain('http://www.csdn.net/point.aspx') from dual;

F_TWODOMAIN('HTTP://WWW.CSDN.N
--------------------------------------------------------------------------------
csdn.net

SQL>
YY_MM_DD 2008-11-04
  • 打赏
  • 举报
回复

select substr(str,instr(str,'w',1,3)+1,(instr(str,'/',1,3)-instr(str,'/',1,2)-4)) from dual
cosio 2008-11-04
  • 打赏
  • 举报
回复
这样子肯定不太好使,万一长度变了就要去改!

[Quote=引用 1 楼 BlueskyWide 的回复:]
SQL code
SQL> select substr('http://www.csdn.net/point.aspx',12,8 ) from dual;

SUBSTR('HTTP://WWW.CSDN.NET/PO
----------------------------------------------------------------
csdn.net

SQL>





引用楼主 cinderella_m 的帖子:
比如:http://www.csdn.net/point.aspx
如何获得字符串“.csdn.net”
[/Quote]
BlueskyWide 2008-11-04
  • 打赏
  • 举报
回复

SQL> select substr('http://www.csdn.net/point.aspx',12,8 ) from dual;

SUBSTR('HTTP://WWW.CSDN.NET/PO
----------------------------------------------------------------
csdn.net

SQL>



[Quote=引用楼主 cinderella_m 的帖子:]
比如:http://www.csdn.net/point.aspx
如何获得字符串“.csdn.net”
[/Quote]

17,090

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧