将字符串分成两部分并选择两个变量
问题描述:
我使用的是 SQL Server 2005.我有一个带有特殊字符 :
的字符串,例如:
I am using SQL Server 2005. I have a string with a special character :
like:
XYZ:xyz@mail.com
我想把这个字符串分成两个子字符串并选择成变量.特殊字符 :
只是一个分隔符.
I want to divide this string into two sub-strings and select into variables. The special character :
is just a separator.
@variable1=XYZ
@variable2=xyz@mail.com
请指导我如何实现.
答
字符串分割指南:
使用
CHARINDEX
找到的位置:
.
使用SUBSTRING
抓取:
位置之前的所有字符,放入@variable1
.
Use SUBSTRING
to grab all the characters before the position of :
, and put them into @variable1
.
使用SUBSTRING
抓取:
位置后的所有字符,存入@variable2
.
Use SUBSTRING
to grab all the characters after the position of :
, and store them into @variable2
.
一个可能的实现:
DECLARE @string varchar(max), @variable1 varchar(max), @variable2 varchar(max);
SET @string = 'XYZ:xyz@mail.com';
SELECT
@variable1 = SUBSTRING(S, 1, P - 1),
@variable2 = SUBSTRING(S, P + 1, L - P)
FROM (
SELECT
S = @string,
P = CHARINDEX(':', @string),
L = LEN(@string)
) s;
SELECT @variable1, @variable2;
输出:
-------------------- --------------------
XYZ xyz@mail.com