通常语言提供substr字符串截取,配合strpos之类的位置判断函数,可以很高效的获取想要的内容。
当然oracle 也是支持的,只是函数名称不叫strpos了,substr的名字是一样的。
下面是一个样例,从注释中,获取中文逗号的位置,并截取从0开始到中文逗号位置的注释内容,SQL代码如下:
[#zeyu#]
select b.comments,substr(b.comments,0,instr(b.comments,',',1,1)-1),a.data_type,a.data_length from user_tab_columns a LEFT JOIN user_col_comments b on a.column_name=b.column_name where a.Table_Name='TEST' and b.table_name='TEST' ORDER BY a.COLUMN_id;
[/#zeyu#]
但是,存在一个弊端,如果注释中没有包含instr的字符,则会返回空。
------------正 文 已 结 束, 感 谢 您 的 阅 读 (折雨的天空)--------------------
转载请注明本文标题和链接:《oracle中的strpos和substr同等功能的结合的一种用法》
发表评论