SQL如何截取指定字段某一个字符的前面/后面的字符串
把字符串"OPE-CZ-108-003-SE71.2"做前后置拆分
SQL server写法:
--SUBSTRING('列名',起始位数,要取的字符串长度)
SUBSTRING(expression,start,length)
1.获取“.”前面的字符串:
SUBSTRING(TCID_GK,1,CHARINDEX('.',TCID_GK)-1)
得到效果:OPE-CZ-108-003-SE71
列名从第一位取值 ,要取的字符串长度是“.”字符在字段中的位置减1
2.获取“.”后面的字符串:
SUBSTRING(TCID_GK,CHARINDEX('.',TCID_GK)+1,len(TCID_GK)-charindex('.',TCID_GK))
得到效果:2
列名,从“.”字符后一位开始,要取的字符串长度是字段总长度减去"."字符所在位置
Oracle写法:
1.获取“.”前面的字符串:
SUBSTR(TCID_GK,1, INSTR(TCID_GK,'.')-1)
2.获取“.”后面的字符串:
SUBSTR(TCID_GK, INSTR(TCID_GK,'.',1,1)+1)
Mysql写法:
1.获取“.”前面的字符串:
SUBSTRING_INDEX(TCID_GK,'.', 1)
2.获取“.”后面的字符串:
SUBSTRING_INDEX(TCID_GK,'.', -1)