原文:
sql 截取字符串
MySQL:
1、LOCATE(substr , str ):返回子串 substr 在字符串 str 中第一次出现的位置,如果字符substr在字符串str中不存在,则返回0;
2、POSITION(substr IN str ):返回子串 substr 在字符串 str 中第一次出现的位置,如果字符substr在字符串str中不存在,与LOCATE函数作用相同;
3、LEFT(str, length):从左边开始截取str,length是截取的长度;
4、RIGHT(str, length):从右边开始截取str,length是截取的长度;
5、SUBSTRING_INDEX(str ,substr ,n):返回字符substr在str中第n次出现位置之前的字符串;
6、SUBSTRING(str ,n ,m):返回字符串str从第n个字符截取到第m个字符;
7、REPLACE(str, n, m):将字符串str中的n字符替换成m字符;
8、LENGTH(str):计算字符串str的长度;
MySQL函数大全:
http://www.jb51.net/article/42906.htm
sqlserver:
1、CHARINDEX(substr ,str):返回子串 substr 在字符串 str 中第一次出现的位置,如果字符substr在字符串str中不存在,则返回0;
2、LEFT(str, length):从左边开始截取str,length是截取的长度;
3、RIGHT(str, length):从右边开始截取str,length是截取的长度;
4、SUBSTRING(str ,n ,m):返回字符串str从第n个字符截取到第m个字符;
5、REPLACE(str, n, m):将字符串str中的n字符替换成m字符;
6、LEN(str):计算字符串str的长度;
sqlserver函数大全:https://wenku.baidu.com/view/e2e19dec172ded630b1cb628.html###
oracle:
1、SUBSTR(st
ring,start_position,[length]) 求子字符串,返回字符
串;
a、substr("ABCDEFG", 0);//返回:ABCDEFG,截取所有字符;
b、substr("ABCDEFG", 2);//返回:CDEFG,截取从C开始之后所有字符;
c、substr("ABCDEFG", 0, 3);//返回:ABC,截取从A开始3个字符;
d、substr("ABCDEFG", 0, 100);//返回:ABCDEFG,100虽然超出预处理的字符串最长度,但不会影响返回结果,系统按预处理字符串最大数量返回;
e、substr("ABCDEFG", -3);//返回:EFG,注意参数-3,为负值时表示从尾部开始算起,字符串排列位置不变;
2、INSTR(string,subString,position,ocurrence)查找字符串位置;
string:源字符串
subString:要查找的子字符串
position:查找的开始位置
ocurrence:源字符串中第几次出现的子字符串
3、replace(strSource, str1, str2) 将strSource中的str1替换成str2;
4、lengthb(string)计算string所占的字节长度:返回字符串的长度,单位是字节;
length(string)计算string所占的字符长度:返回字符串的长度,单位是字符;
oracle函数大全:https://wenku.baidu.com/view/2fb8f865580216fc700afd9c.html
【SQL开发实战技巧】系列(十二):三问(如何对字符串字母去重后按字母顺序排列字符串?如何识别哪些字符串中包含数字?如何将分隔数据转换为多值IN列表?)
如何将分隔数据转换为多值IN列表、如何按字母顺序排列字符串、如何对字符串字母去重后按字母顺序排列字符串、如何删除字符串中的字符保留数字。【SQL开发实战技巧】这一系列博主当作复习旧知识来进行写作,毕竟SQL开发在数据分析场景非常重要且基础,面试也会经常问SQL开发和调优经验,相信当我写完这一系列文章,也能再有所收获,未来面对SQL面试也能游刃有余~。这篇文章还是介绍的字符串处理案例,还是那句话,这些操作太太太常见了。后面还会写,而且是更麻烦更难的需求。
【SQL开发实战技巧】系列(十):从拆分字符串、替换字符串以及统计字符串出现次数说起
本篇文章讲解的主要内容是:***遍历拆分字符串为单个字符、字符串中包含引号如何转译(q-quote特性)、计算字符在字符串中出现的次数、使用translate从字符串中快速删除替换不需要字符的巧妙写法、使用正则表达式regexp_replace将字符和数字数据分离、使用正则表达式regexp_like查询只包含数字或字母型的数据***