0
我使用SQL分析器将在SSAS多维数据集上触发的MDX语句捕获到表中。我想要做的是从MDX语句中提取多维数据集名称。从SQL服务器中的文本中提取子串
我遇到的问题是,MDX语句非常庞大且随机(用户连接到多维数据集并创建即席报告)并且构建了多个子多维数据集,因此很难获取多维数据集名称。
我能弄清楚搜索模式。
First string: 'FROM ['
Second string: ']'
我现在需要从变量中取出一个子串。下面 实施例:
DECLARE @TEXT varchar(max) = 'SELECT NON EMPTY (((( [[ XXXXX ]] }) ON ROWS FROM (SELECT ({XXXXXXXX }) ON COLUMNS FROM [Sales Reporting]))
WHERE XXXXX))'
DECLARE @FirstPosition int = (SELECT CHARINDEX('FROM [',@TEXT)+5)
DECLARE @SecondPosition int = (SELECT CHARINDEX(']',@TEXT,@FirstPosition))
SELECT @FirstPosition, @SecondPosition
SELECT SUBSTRING(@TEXT,CHARINDEX('FROM [',@TEXT)+5,(CHARINDEX(']',@TEXT,@FirstPosition)-CHARINDEX('[',@TEXT))-1)
希望的结果=销售报告