Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 从字符串中取出子字符串_Sql_Sql Server - Fatal编程技术网

Sql 从字符串中取出子字符串

Sql 从字符串中取出子字符串,sql,sql-server,Sql,Sql Server,我有一个像 Empl:9998 Earn Code:7704 Seq:1 我需要从字符串中删除员工编号9998。 员工编号始终从位置6开始,在第二个E之前结束。 我一直在玩所有的字符串功能,但没有成功。我使用MS SQL。该函数将帮助您开始,但您还需要。我建议搜索空格字符的索引该函数将帮助您开始,但您还需要。我建议搜索空格字符的索引,以下语句将执行此操作: select substring(empno, 6, charindex('E', empno, 6)

我有一个像

Empl:9998 Earn Code:7704 Seq:1
我需要从字符串中删除员工编号9998。 员工编号始终从位置6开始,在第二个E之前结束。
我一直在玩所有的字符串功能,但没有成功。我使用MS SQL。

该函数将帮助您开始,但您还需要。我建议搜索空格字符的索引

该函数将帮助您开始,但您还需要。我建议搜索空格字符的索引,以下语句将执行此操作:

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

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

以下语句将完成此操作:

select substring(empno, 6,
                 charindex('E', empno, 6) - 6)
from (select 'Empl:9998 Earn Code:7704 Seq:1' as empno) t;
如果不需要数字中的空格,您可能真的需要-7。

试试这个

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

Here is the result set.    
x    
---- 
bcd
试试这个

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

Here is the result set.    
x    
---- 
bcd

这应该一直有效

Match match = Regex.Match(input, @"Empl:(\d+)", RegexOptions.IgnoreCase);
EmplyId = match.Groups[1].Value

这应该一直有效

Match match = Regex.Match(input, @"Empl:(\d+)", RegexOptions.IgnoreCase);
EmplyId = match.Groups[1].Value

所有字符串函数?即使是那个?在问之前也应该多挖一点。我想说这个问题在StackOverflow本身上已经被问过很多次了。是的,我确实使用了substang,但是我不能得到正确的长度。我应该做更多的搜索。对不起,谢谢,我接受戈登·林诺夫的回答所有字符串函数?即使是那个?在问之前也应该多挖一点。我想说这个问题在StackOverflow本身上已经被问过很多次了。是的,我确实使用了substang,但是我不能得到正确的长度。我应该做更多的搜索。对不起,谢谢,我接受戈登·林诺夫的回答谢谢,我得到了结果“9998挣”。但我真的需要的是9998。我可能需要更多的帮助,谢谢。我明白了。我只是个初学者,真的促成了你的帮助。我想我应该在提问之前做更多的研究。对不起。再次感谢谢谢,我得到了“9998挣”的结果。但我真的需要的是9998。我可能需要更多的帮助,谢谢。我明白了。我只是个初学者,真的促成了你的帮助。我想我应该在提问之前做更多的研究。对不起。再次感谢