子字符串varchar得到第一个globald



我有varchar字符串,需要返回第一个全局值-8679926300927194610我的字符串:

 declare @erservice varchar(max) = 'globalid=8679926300927194610,ou=services,globalid=00000000000000000000'

您可以执行以下操作。假设字符串总是以globalid=开头,并且数字后面有一个逗号。

SELECT SUBSTRING(@erservice,10,CHARINDEX(',',@erservice)-10)

您可以使用子字符串和charindex,因为字符串总是以globalid=n 开头

为了便于阅读,我将用@yText替换字符串(@yText = 'globalid=8679926300927194610,ou=services,globalid=00000000000000000000')

DECLARE @erservice varchar(max) = substring(@yText, 10, CHARINDEX(',',@yText)-10)

Substring将为您提供开始提取的偏移量,而Charindex将通过搜索逗号的位置来显示数字的末尾。

http://social.technet.microsoft.com/wiki/contents/articles/17948.t-sql-right-left-substring-and-charindex-functions.aspx

最新更新