比如数据库的某一列c_text为"姓名:小明;性别:男"
如果只想查询姓名的话怎么办?
1.substring
substring(c_text from '姓名.*;')这个操作可以将本字段从姓名开始截取到第一个分号 操作之后会变成 姓名:小明;
2.btrim
这个时候可以在外面在加一层
btrim(substring(c_text from '姓名.*;'),';')
这一步可以去掉所有的分号
这样就可以获得想要的东西了
select btrim(substring(c_text from '扣款说明.*;'),';') from dual
如果在加一层btrim的话 还可以把 姓名: 去掉 只保留小明
select btrim(btrim(substring(c_text from '扣款说明.*;'),';') ,'姓名:') from dual
其他Postgresql的常见操作函数可参考链接http://ju.outofmemory.cn/entry/364873
网友评论