从没有任何明确搜索条件的长字符串中获取字符串



CN=#account,OU=应用程序帐户,OU=管理员帐户,OU=用户帐户,DC=域名,DC=本地

CN=_OwnerPRD,OU=服务帐户,OU=管理员帐户,OU=用户帐户,DC=域名,DC=本地

我有很多像上面这样的价值观。如何在第一个示例中仅提取应用程序帐户,在第二个示例中提取服务帐户?由于缺乏独特的搜索条件,我不确定如何使用 INSTR 执行此操作。

您可以使用CHARINDEXSUBSTRING以下内容:

SELECT REPLACE(SUBSTRING(column_name, CHARINDEX('OU=', column_name), CHARINDEX(',', column_name, CHARINDEX('OU=', column_name)) - CHARINDEX('OU=', column_name)), 'OU=', '') 
FROM table_name

演示:http://sqlfiddle.com/#!18/9eecb/14914/0

最新更新