A. oracle中 sql截取某个字符前面和后面的值
创建测试表及数据
createtabletest
(namevarchar2(10));
insertintotestvalues('2-15');
insertintotestvalues('2-33');
insertintotestvalues('2-3');
insertintotestvalues('12-8');
insertintotestvalues('纯桐12-22');
insert燃裤春intotestvalues('12-3');
执行
select皮耐name,substr(name,1,instr(name,'-')-1)前,substr(name,instr(name,'-')+1,length(name)-instr(name,'-'))后fromtest
截图
B. SQL 查询的时候截取字段在逗号前的部分
可以使用substring_index(column, ',', 2)方法来实现。
具体SQL语句为:
select id,name,substring_index(address, ',', 2) from people;
substring_index(address, ',', 2)的意思是截取第二个 ',' 之前的所有字符。
(2)数据库如何取符前的值扩展阅读
sql中substring()的相关用法介绍:
1、SUBSTRING(name,3) 截取name这个字段 从第三个字符开始,之后的所有个字符
SELECT SUBSTRING('1234567',3)
结果:34567
2、SUBSTRING(name, -4) 截取name这个字段的第 4 个字符位置(倒数)开始取,直到结束
SELECT SUBSTRING('1234567',-4)
结果:4567
3、SUBSTRING(name, -4,2) 截取name这个字段的第 4 个字符位置(倒数)开始取,只截取之后的2个字符
SELECT SUBSTRING('1234567',-4,2)
结果:45
4、substring_index('www..com', '.', 2) 截取第二个 '.' 之前的所有字符
SELECT substring_index('www..com', '.', 2)
C. access数据库如何对一个字段内容某个字符之前的内容进行提取
select原字段,left(原字段衡拆,氏羡instr(原字段,'字符歼拦拍'))from表
D. SQL如果提取某些符号中的数值
如果字符是固岁岁禅定的,比如乎尘*,可以考虑使用f_split函数雀亩来分隔处理再处理。
比如:SELECT * FROM dbo.f_split('31.5*1.25*18','*')
结果:
col
--------------------------------------------------
31.5
1.25
18