|
методы value и nodes
|
|||
---|---|---|---|
#18+
Добрый день! Уважаемые формучане, не могли бы вы помочь в решении следующей задачи? Есть столбец в формате image, после приведения в типу хml пытаюсь реализовать следующий код: WITH XMLNAMESPACES( DEFAULT 'http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition', 'http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition' AS REP ) SELECT C.ItemID, C.Name, C.Path, DataSetXML.value('@Name', 'varchar(MAX)') DataSourceName, DataSetXML.value('REP:Query[1]/REP:CommandText[1]', 'varchar(MAX)') CommandText, ReportXML FROM (SELECT ItemID, CAST(CAST(CONTENT AS VARBINARY(MAX)) AS XML) ReportXML FROM [dbo].[Catalog] WHERE [Content] IS NOT NULL)ReportXML OUTER APPLY ReportXML.nodes('//REP:DataSet') DataSetXML(DataSetXML) LEFT JOIN [dbo].[Catalog] c ON ReportXML.ItemID = c.ItemID WHERE C.Name LIKE '%закрытым% Никакого разбиения строк не происходит и в 4 и 5 столбце выпадают значение NULL. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2017, 16:30 |
|
методы value и nodes
|
|||
---|---|---|---|
#18+
Вернее, происходит так: в части сток разбиение все-таки проходит, в части нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2017, 16:31 |
|
методы value и nodes
|
|||
---|---|---|---|
#18+
Вот так заработало SELECT distinct SUBSTRING( x.CatContent ,x.CIndex ,CHARINDEX('"',x.CatContent,x.CIndex+7) - x.CIndex ) FROM ( SELECT CatContent = CONVERT(NVARCHAR(MAX),CONVERT(XML,CONVERT(VARBINARY(MAX),C.Content))) ,CIndex = CHARINDEX('xmlns="',CONVERT(NVARCHAR(MAX),CONVERT(XML,CONVERT(VARBINARY(MAX),C.Content)))) FROM dbo.Catalog C WHERE C.Content is not null AND C.Type = 2 ) X ; WITH XMLNAMESPACES ( DEFAULT 'http://schemas.microsoft.com/sqlserver/reporting/2010/01/reportdefinition' , 'http://schemas.microsoft.com/SQLServer/reporting/reportdesigner' AS rd ) SELECT ReportName = name ,DataSourceName = x.value('(Query/DataSourceName)[1]','VARCHAR(250)') ,CommandText = x.value('(Query/CommandText)[1]','VARCHAR(250)') ,path FROM ( SELECT C.Name, c.path,CONVERT(XML,CONVERT(VARBINARY(MAX),C.Content)) AS reportXML FROM dbo.Catalog C WHERE C.Content is not null AND C.Type = 2 ) a outer APPLY reportXML.nodes('/Report/DataSets/DataSet') r ( x ) ORDER BY name ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2017, 19:28 |
|
|
start [/forum/topic.php?fid=14&msg=39507004&tid=1332018]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
36ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
others: | 251ms |
total: | 375ms |
0 / 0 |