Postgresql 截取字符串的案例
截取字符串一般用 substring 就够用了。对于有些长度不定的就没法用这个函数了,但还是有规律的,可以某个字符分割。
如:(这是一个url,截取最后一部分。现在要取 - 后面部分内容)
8a59e88177ad5e70-20170317120301AB9E.plist 12b8d5c26d83a17f-20170308173008D5DD.plist
这时需要 split_part 函数,如:
-- url 一共3个 - ,字符串被分成4部分,取最后一部分,那最后一个参数就是4
select split_part(fs.cdn_url ,'-', 4) from file_store fs
如果 分割符 数量不一样怎么办,这里就要计算分割符的数量了
-- 将 1个分隔符 替换为 2个分隔符,然后用长度相减得到分隔符数
-- 最后 +1 是为了取最后一部分内容
select split_part(fs.cdn_url ,'-', length(replace(fs.cdn_url,'-','--')) - length(fs.cdn_url) + 1) from file_store fs
补充:PostgreSQL字符串截取替换
初始化数据库
CREATE TABLE public.t1 ( name text ) name ------- "David" "Peter" "任务2016-09-10 10:09:00" "任务2016-10-10 12:03:00" "任务2016-12-22 14:10:00"
把包含"任务"的记录替换为"Job"
update t1 set name= 'Job'||substring(name,3) where substring(name,position('任务' in name),2)='任务'; select * from t1; name ------- "David" "Peter" "Job2016-09-10 10:09:00" "Job2016-10-10 12:03:00" "Job2016-12-22 14:10:00"
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。
相关推荐
-
postgresql 将逗号分隔的字符串转为多行的实例
-- 将逗号分隔的字符串转为多行 SELECT unnest(string_to_array('4513,4564,555',',')) as a1; -- array转为行 SELECT unnest(ARRAY[1,2]); SELECT * from unnest(ARRAY[1,2],ARRAY['foo','bar','baz']); 补充:PostgreSQL 行转列.列转行字符串函数.字符串分割函数 本文主要介紹PostgreSQL 的行转列.列转行以及字符串切割函数,实际业务中对
-
PostgreSQL 字符串处理与日期处理操作
字符串长度.大小写 SELECT CHAR_LENGTH('test') -- 字符串长度 SELECT LENGTH('test') LENGTH(string,encoding name) SELECT LENGTH('测试','UTF-8'); LOWER(string) 或者 UPPER(string) -- 大小写 ASCII(string) SELECT ASCII('abc') -- 结果是'a'的ascii码 字符串格式化 FORMAT(formatstr text [,form
-
PostgreSQL 使用raise函数打印字符串
raise函数 在PostgreSQL中,该函数用于打印字符串,类似于Java中的System.out.println(),Oracle中的dbms_output.put_line(). 用法如下: raise notice 'My name is %, I am a %.', 'Lewis', 'coder'; 以上sql会在控制台输出My name is Lewis, I am a coder..如果是在DBeaver里使用该函数,则会在output的tab里输出字符串. raise后面的n
-
postgresql 查询字符串中是否包含某字符的操作
先看表结构和数据: 需求: 查询出manager_id中包含某些字符的数据,此处查询manager_id包含6651545956882725395,5722501350582149881的数据, SQL语句如下: SELECT t.* from bas_cm_customer t where position('6651545956882725395' in t.manager_id) > 0 OR position ('5722501350582149881' in t.manager_id)
-
postgresql 查询集合结果用逗号分隔返回字符串处理的操作
关键字: string_agg('' , '') 例如: select string_agg(name||'' , ',') from sys_user 补充:PostgreSQL 字段用逗号 ","隔开 判断是否含有某个值 Array Functions and Operators https://www.postgresql.org/docs/9.2/functions-array.html -- ---------------------------- -- Table stru
-
postgresql 实现字符串分割字段转列表查询
在数据查询中,有一张a表存有另一张b表的id并以','隔开 如: 假设现在要关联查询关于 b表的一些信息,怎么办. 分割查询:字符串转列表函数 :regexp_split_to_table() select * from regexp_split_to_table ((select product_ids from fee_project_meal where id = 116199376233182210 ), ',') 查询后,字符串就变成了列表,然后你就可以根据这个列表去找b表的相关信息了
-
Postgresql 截取字符串的案例
截取字符串一般用 substring 就够用了.对于有些长度不定的就没法用这个函数了,但还是有规律的,可以某个字符分割. 如:(这是一个url,截取最后一部分.现在要取 - 后面部分内容) 8a59e88177ad5e70-20170317120301AB9E.plist 12b8d5c26d83a17f-20170308173008D5DD.plist 这时需要 split_part 函数,如: -- url 一共3个 - ,字符串被分成4部分,取最后一部分,那最后一个参数就是4 select
-
java Matcher匹配头尾截取替换字符串的案例
在java 编程中,我们常常有这样的需求:需要将一段字符串内的特定字符串,按照一定规则查找出来或替换,比如匹配文本开头规则和结束规则. 以下就是Matcher的使用: import java.util.ArrayList; import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * @Author changle * @Time 17/10/12. * @Desc 匹配头
-
PostGreSql 判断字符串中是否有中文的案例
我就废话不多说了,大家还是直接看代码吧~ 实例 imos=# select 'hello' ~ '[\u2e80-\ua4cf]|[\uf900-\ufaff]|[\ufe30-\ufe4f]'; ?column? ---------- f (1 row) imos=# imos=# select 'hello中国' ~ '[\u2e80-\ua4cf]|[\uf900-\ufaff]|[\ufe30-\ufe4f]'; ?column? ---------- t (1 row) 补充:Post
-
javascript截取字符串小结
本文总结介绍了三种使用Javascript截取字符串的方法,同时也总结了两种截取中文字符串的办法,分享一下. 1.substring 方法 定义和用法 substring 方法用于提取字符串中介于两个指定下标之间的字符. 语法 stringObject.substring(start,stop) 参数 描述 start 必需.一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置. stop 可选.一个非负的整数,比要提取的子串的最后一个字符在 stringObjec
-
ThinkPHP 模板substr的截取字符串函数详解
ThinkPHP 模板substr的截取字符串函数 在Common/function.php加上以下代码 /** ** 截取中文字符串 **/ function msubstr($str, $start=0, $length, $charset="utf-8", $suffix=true){ if(function_exists("mb_substr")){ $slice= mb_substr($str, $start, $length, $charset); }e
-
Java实现截取字符串的操作详解
目录 使用JDK截断一个字符串 使用 String 的 substring() 方法 使用 String 的 split() 方法 使用 Pattern 类 使用 CharSequence 的 codePoints() 方法 Apache Commons 库 使用 StringUtils的left() 方法 使用 StringUtils 的 truncate() 方法 Guava库 总结 大家好,我是指北君. 在本文中,我们将学习在Java中把一个String截断到所需的字符数的集中方法. 首先
-
Thinkphp模板中截取字符串函数简介
在php中截取字符串的函数有很多,而在thinkphp中也可以直接使用php的函数,本文给大家简单的介绍thinkPHP模板中截取字符串的具体用法,希望能对各位有所帮助. 对于英文字符可使用如下形式: 复制代码 代码如下: {$vo.title|substr=0,5} 如果是中文字符thinkphp提供了msubstr,用法如下: 复制代码 代码如下: function msubstr($str, $start=0, $length, $charset="utf-8″, $suffix=true
-
正则表达式截取字符串的方法技巧
有这么一段字符串: [数字]字符串 结果 取 a=数字 b=字符串 截取方法1: int a = Convert.ToInt32(txt1.Text.Trim().Replace('[', ']').Split(']')[1]); string b = txt1.Text.Trim().Replace('[', ']').Split(']')[2]; 截取方法2: string str = "[数字]字符串"; Regex reg = new Regex(@" ([^]+)
-
C#几种截取字符串的方法小结
1.根据单个分隔字符用split截取 例如 复制代码 代码如下: string st="GT123_1"; string[] sArray=st.split("_"); 即可得到sArray[0]="GT123",sArray[1]="1"; 2.利用多个字符来分隔字符串 例如 复制代码 代码如下: string str = "GTAZB_JiangjBen_123";string[] sArray = s
-
用javascript实现截取字符串包含中文处理的函数
1.substring 方法 定义和用法 substring 方法用于提取字符串中介于两个指定下标之间的字符. 语法 stringObject.substring(start,stop) 参数 描述 start 必需.一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置. stop 可选.一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1.如果省略该参数,那么返回的子串会一直到字符串的结尾. 返回值 一个新的字符串,该字符串值包
随机推荐
- TBCompressor js代码压缩
- Eclipse中php插件安装及Xdebug配置的使用详解
- jquery中邮箱地址 URL网站地址正则验证实例代码
- Javascript----文件操作
- JavaScript开发者必备的10个Sublime Text插件
- java实现图片裁切的工具类实例
- Windows下安装python MySQLdb遇到的问题及解决方法
- javascript实现画不相交的圆
- Powershell小技巧之编辑Hosts文件
- 实现批量linux格式化硬盘和挂载硬盘脚本分享
- 解决IIS“服务器应用程序不可用”的方法汇总
- Win2003 自带防火墙的设置图文教程
- java反射拼接方法名动态执行方法实例
- springboot+thymeleaf国际化之LocaleResolver接口的示例
- Angularjs Promise实例详解
- vue 点击按钮实现动态挂载子组件的方法
- 详解nginx upstream 配置和作用
- Layui给switch添加响应事件的例子
- 微信小程序框架wepy之动态控制类名
- Spring核心容器IOC原理实例解析