sql 截取某个字符之前的数据
例如:CREATEPROCEDUREpim_Utility_ReadCRMSaleLeadASselectA.ProjectNameas'项目名称',A.SaleDist...
例如:
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]
要的结果是:众联盛太原公司
上面的那个存储过程要怎要修改。在线等。十万火急````` 展开
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]
要的结果是:众联盛太原公司
上面的那个存储过程要怎要修改。在线等。十万火急````` 展开
3个回答
展开全部
创建测试表及数据
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截图
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截图
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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
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
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select left(字段名称,CHARINDEX('+',字段名称) - 1)
from 表
from 表
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询