sql字符串截取

--截取指定字符串后的字符串(例如截取http://后面的字符串)
--方法一:
Declare @S1 varchar(100)
Select @S1='http://www.163.com' 
Select Substring(@S1,CHARINDEX('www',@S1)+1,Len(@S1))
/*此处也可以这样写:*/
Select Substring(@S1,CHARINDEX('//',@S1)+2,Len(@S1))

--方法二
Select @S1='http://www.163.com'
Select Substring(@S1,PATINDEX('%www%',@S1)+1,Len(@S1))

-- 方法三:
Select @S1='http://www.163.com'
Select REPLACE(@S1,'http://','')

--方法四:
Select @S1='http://www.163.com'
Select STUFF(@S1,CHARINDEX('http://',@S1),Len('http://'),'')

--普通字符截取
select SUBSTRING(OperationAdminUserName,1,4) from db_owner.OperationAdminUser

--截取指定字符“-”之前的所有字符
select SUBSTRING(OperationAdminUserName,0,CHARINDEX('-',OperationAdminUserName)) 
from db_owner.OperationAdminUser

--截取指定字符“-”之后的所有字符
select SUBSTRING(OperationAdminUserName,CHARINDEX('-',OperationAdminUserName),LEN(OperationAdminUserName)) 
from db_owner.OperationAdminUser

select SUBSTRING(OperationAdminUserName,CHARINDEX('-',OperationAdminUserName)+1,LEN(OperationAdminUserName)) 
from db_owner.OperationAdminUser

--where条件字符截取
select * from db_owner.OperationAdminUser where SUBSTRING(OperationAdminUserName,1,4) = 'dich'

--left截取
select left('hello@163.com',charindex('@','hello@163.com')-1)
select left(OperationAdminUserName,CHARINDEX('-',OperationAdminUserName)) from db_owner.OperationAdminUser

--right截取
select right('hello@163.com',charindex('@','hello@163.com')-1)

select right(OperationAdminUserName,CHARINDEX('-',OperationAdminUserName)) from db_owner.OperationAdminUser

========================================================

========================================================

存取过程中调用某个存储过程查询某个字段

declare
@company varchar(10)
exec proc_getCompanyByUserid @loginUserID, @company out;
select urr.RoleID,urr.OperationAdminUserID,oa.ActualName 
from db_owner.UserRoleRelation urr
left join db_owner.OperationAdminUser oa on urr.OperationAdminUserID = oa.OperationAdminUserID
where RoleID = 3 and SUBSTRING(oa.OperationAdminUserName,1,4) = @company

proc_getCompanyByUserid存储过程

ALTER proc [db_accessadmin].[proc_getCompanyByUserid]
(
  @userid varchar(11),
  @company varchar(10) out
)

as 
select @company=Company from db_owner.OperationAdminUser where OperationAdminUserID=@userid


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值