目的:返回新管理员的名字
SUBSTRING(string, start, length)
- 在string中,从start开始提取长度为length的字符串
- 三个参数都必须要有
CHARINDEX(substring, string, start)
- 在string中从start开始寻找substring
- 前两个参数必有,start可选
--- 表:db_user
--- 列:userStatus
--- 值:
--- 管理员由【bob】变更为【tracy】
--- 管理员变更为【cindy】
--- 管理员由【bob】变更为【tracy】
--- 管理员由【bob】变更为【tracy】
--- 管理员由【bob】变更为【tracy】
--- 管理员变更为【bob】
--- 管理员由【tracy】变更为【maya】
--- 管理员由【tracy】变更为【maya】
--- 管理员由【cindy】变更为【maya】
--- 管理员由【cindy】变更为【maya】
--- 管理员由【tracy】变更为【bob】
--- ...
select substring([userStatus], charindex('为',[userStatus]) + 2,len([userStatus]) - charindex('为',[userStatus]) - 2) as [newManager]
FROM [db_user]
--- 列:newManager
--- 值:
--- tracy
--- cindy
--- tracy
--- tracy
--- tracy
--- bob
--- maya
--- maya
--- maya
--- maya
--- bob
--- ...
说明:
- substring的第一个参数
string
:[userStatus]
- substring的第二个参数
start
:charindex('为',[userStatus]) + 2
⇒ ‘为’字的后两个位置开始 - substring的第二个参数
length
:len([userStatus]) - charindex('为',[userStatus]) - 2
⇒ 该字段的总长 -start