sql 计算字符从后向前出现的位置

sql 计算字符从后向前出现的位置,用两个函数,instr,reverse(空格也算一位)

INSTR方法的格式为
INSTR(源字符串, 目标字符串, 起始位置, 匹配序号)

默认查找顺序为从左到右。当起始位置为负数的时候,从右边开始查找。但是下标值还是从前向后的只是如果字符偏后效率快些


sql 计算字符在字符串出现了次数

如何用sql 计算在一个字符串中某个字符出现了几次,如 ‘12,34,12,11’可的逗号出现了3次,思路就是总长度减去该字符替换成空后的长度,在ORACLE 11G中出现了REGEXP_COUNT函数更加方便,

REGEXP_COUNT (source_char, pattern [, position [, match_param]])

这里我们用通用的方法length

实验开始

sql varchar字段中是数字的

如果一个表中有个字符串类型的字段,值中有带字母的也有纯数字,如何找出纯数字的呢?今天发现了translate,当然还可以配合其它函数实现更大的功能!

实验开始

SQL> create table test1(id varchar2(5),
2 insert_date date);