第三种:正则表达式截取 SUBSTRING(string,pattern);

SELECT 
  SUBSTRING ('PostgreSQL', 'gre'); --正则表达式截取,截取'gre'字符串

第四种:正则表是截取 SUBSTRING(string FROM pattern)

SELECT 
  SUBSTRING ('PostgreSQL' FROM 'gre' );--正则表达式截取,截取'gre'字符串

反向截取:

利用反转函数reverse(),将字符串反转过来,在进行截取,截取完成后,在将截取的字符串反转回来。

例如我想截取字符串' PostgreSQL '最后2位字符:

select 
 reverse(SUBSTRING(reverse('PostgreSQL'),1,2))--截取最后二位字符串,返回结果:QL
首先学习两个 函数 1. substring 返回字符、binary、text 或 image 表达式的一部分。基本语法: SUBSTRING ( expression , start , length ) expression:字符串、二进制字符串、text、image、列或包含列的表达式start:整数,指定子串的开始位置      注: SQL 中”1″表示字符串中的第一个字符,而.NET中”0″表示第一个字符length:整数,指定子串的长度(要返回的字符数或字节数) 2.patindex  返回指定表达式中某模式第一次出现的起始位置;如果在全部有效的文本和字符数据类型中没有找到该模式,则返回零
参数解释: string 可以是 char, varchar, text等数据类型。 start_position 是integer类型,指定从哪开始抽取. 如果等于零,则从第一个字符开始。虽然其他 数据库 可以为负数,但这里只能是正数。 length
截取字符串 一般用 substring 就够用了。对于有些长度不定的就没法用这个 函数 了,但还是有规律的,可以某个字符分割。 -- 字符串被分成3部分,取最后一部分,那最后一个参数就是3 select split_part('11-22-33' ,'-', 3) -- 最后 +1 是为了取最后一部分内容 select split_part('aa-bb-cc' ,'-', (length('11-2...
2020秋招笔试—表示年份的子串题目思路代码 小明想从一段英文短文中提取潜在的年份信息,待匹配的年份的范围为1000年至3999年,包含1000和3999,输入一段英文短文,按出现次序输出所提取到的所有可能的年份字符串。 And millinaires will hold 46% of total wealth by 2019,the report says.This ratio is likely to increase in 2020. 2019 2020 对字符串求
举例:现在要取 - 后面部分内容 8a59e88177ad5e70-20170317120301AB9E.plist 12b8d5c26d83a17f-20170308173008D5DD.plist 解析:一共3个 - ,字符串被分成4部分,取最后一部分,那最后一个参数就是4 select split_part(fs.cdn_url ,’-’, 4) from fil...
1. SPLIT_PART SPLIT_PART() 函数 通过指定分隔符分割字符串,并返回第N个子串。语法: SPLIT_PART(string, delimiter, position) string : 待分割的字符串 delimiter:指定分割字符串 position:返回第几个字串,从1开始,该参数必须是正数。如果参数值大于分割后字符串的数量, 函数 返回空串。 SELECT SPLIT_PART('A,B,C', ',', 2); -- 返回B 下面我们利用该 函数 分割日期,获取年月