1

我有一个像

Empl:9998 Earn Code:7704 Seq:1

我需要从字符串中取出员工编号 9998。
员工编号将始终从位置 6 开始,并在第二个位置之前结束E
我玩过所有的字符串函数,但没有成功。我使用 MS SQL。

4

4 回答 4

3

substring函数将帮助您入门,但您还需要charindex。(我建议搜索空格字符的索引)

于 2013-08-26T13:59:11.337 回答
3

以下语句将执行此操作:

select substring(empno, 6,
                 charindex('E', empno, 6) - 6)
from (select 'Empl:9998 Earn Code:7704 Seq:1' as empno) t;

-7如果您不想要“数字”中的空格,您可能真的想要。

于 2013-08-26T14:00:20.277 回答
0

尝试这个

SELECT x = SUBSTRING('abcdef', 2, 3);

Here is the result set.    
x    
---- 
bcd
于 2013-08-26T14:01:13.870 回答
0

这应该总是有效

Match match = Regex.Match(input, @"Empl:(\d+)", RegexOptions.IgnoreCase);
EmplyId = match.Groups[1].Value
于 2013-08-26T14:12:49.210 回答