sql 截取某个字符之前的数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql 截取某个字符之前的数据相关的知识,希望对你有一定的参考价值。

例如:
CREATE PROCEDURE pim_Utility_ReadCRMSaleLead
AS

select A.ProjectName as '项目名称', A.SaleDistrict as '项目所在地',A.Address as '客户地址', A.RelateLead1 as '设计院',
A.BudgetNumber as '预计容量',A.Finish_On as '订货时间' ,
A.WorkStatus as '状态', B.FolderId
INTO #Temp0 from pimCRMSaleLead A ,pimCRMLead B
where A.CustomerId *= B.LeadID

update #Temp0 set #Temp0.项目所在地=C.Name FROM pimDataClassFolder C WHERE #Temp0.FolderId=C.FolderId

SELECT * FROM #Temp0
GO

执行后出现的结果:

七台河隆鹏焦化 华北区 七台河 众联盛太原公司+王振兴 [18339] NULL 2010-03-24 00:00:00 初次联系 10117
青海庆华焦化二期 华北区 青海 众联盛太原公司+王振兴 [18339] NULL 2010-03-24 00:00:00 初次联系 10117

我要把设计院字段中的+号面前的内容取出来。
例如:
查询结果中:众联盛太原公司+王振兴 [18339]
要的结果是:众联盛太原公司

上面的那个存储过程要怎要修改。在线等。十万火急`````

参考技术A 创建测试表及数据
create table test
(name varchar2(10));
insert into test values ('2-15');
insert into test values ('2-33');
insert into test values ('2-3');
insert into test values ('12-8');
insert into test values ('12-22');
insert into test values ('12-3'); 执行
select name,substr(name,1,instr(name,'-')-1) 前,substr(name,instr(name,'-')+1,length(name)-instr(name,'-')) 后 from test截图
参考技术B CREATE PROCEDURE pim_Utility_ReadCRMSaleLead
AS

select A.ProjectName as '项目名称', A.SaleDistrict as '项目所在地',A.Address as '客户地址', SUBSTRING(1,CHARINDEX(‘+’,A.RelateLead1)- 1,LEN(A.RelateLead1)) as '设计院',
A.BudgetNumber as '预计容量',A.Finish_On as '订货时间' ,
A.WorkStatus as '状态', B.FolderId
INTO #Temp0 from pimCRMSaleLead A ,pimCRMLead B
where A.CustomerId *= B.LeadID

update #Temp0 set #Temp0.项目所在地=C.Name FROM pimDataClassFolder C WHERE #Temp0.FolderId=C.FolderId

SELECT * FROM #Temp0
GO本回答被提问者采纳
参考技术C select left(字段名称,CHARINDEX('+',字段名称) - 1)
from 表

sql语句截取数据库里的数据

mysql 假如 表m_chuku 想要截取 字段m_chukutime 的前10个字符和$kaishi比较,sql语句如下,
$sql="select * from m_chuku where m_chukutime> =$kaishi and m_chukutime<=$jieshu";

该怎么弄?

select * from m_chuku where substr(m_chukutime,1,10)> =$kaishi and m_chukutime<=$jieshu;
去看下数据库函数
参考技术A substr(m_chukutime,1,10)

以上是关于sql 截取某个字符之前的数据的主要内容,如果未能解决你的问题,请参考以下文章

sql语句,能够截取指定字段后面的一个字符串吗?

如何截取一段sql中某个字符串之前的内容,在线等

sql语句截取数据库里的数据

sql语句,能够截取指定字段后面的一个字符串吗?

sql怎么截取中文部分

sql 记录截取重排问题