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。我可能需要更多的帮助,谢谢。我明白了。我只是个初学者,真的促成了你的帮助。我想我应该在提问之前做更多的研究。对不起。再次感谢