【发布时间】:2020-03-03 13:55:17
【问题描述】:
作为this answer 的一部分,我确定可能破坏 OLAP 多维数据集的原因之一是向其提供包含被视为“InvalidXMLCharacters”字符的值(在维度名称/值/等中) .现在我想过滤掉这些值,这样它们就不会出现在我用 SQL 构建的 OLAP 多维数据集中。我经常发现自己将这些输入数据从一个表导入到另一个表中。类似于以下内容:
INSERT INTO [dbo].[DestinationTableThatWillBeReferencedInMyOLAPCube]
SELECT TextDataColumn1, TextDataColumn2, etc...
FROM [dbo].[SourceTableContainingColumnsWithValuesWithInvalidXMLCharacters]
WHERE XYZ...
有没有一种有效的方法可以在此查询中从我的列中删除所有“InvalidXMLCharacters”?
想到的明显解决方案是某种正则表达式,尽管从前面提到的链接帖子来看,这可能非常复杂,我不确定这对性能的影响。
我的另一个想法是将列转换为“XML”数据类型,但如果它们包含无效字符,则会出错,对于删除它们不是很有帮助...
我环顾四周,并没有看到许多其他开发人员正试图做到这一点的案例,是否在我没有找到的另一篇文章中以任何其他方式解决了这个问题?
【问题讨论】:
标签: sql sql-server xml tsql olap