ALM(QC)导出csv并去掉html标签sql


--如果存在则删除原有函数
IF OBJECT_ID(N'dbo.RegexReplace') IS NOT NULL 

    DROP FUNCTION dbo.RegexReplace 

GO 

--开始创建正则替换函数 

CREATE FUNCTION dbo.RegexReplace 

( 

    @string VARCHAR(MAX),  --被替换的字符串 

    @pattern VARCHAR(255),  --替换模板 

    @replacestr VARCHAR(255),  --替换后的字符串 

    @IgnoreCase INT = 0 --0区分大小写 1不区分大小写 

) 

RETURNS VARCHAR(8000) 

AS 

BEGIN 

    DECLARE @objRegex INT, @retstr VARCHAR(8000) 

    --创建对象 

    EXEC sp_OACreate 'VBScript.RegExp', @objRegex OUT 

    --设置属性 

    EXEC sp_OASetProperty @objRegex, 'Pattern', @pattern 

    EXEC sp_OASetProperty @objRegex, 'IgnoreCase', @IgnoreCase 

    EXEC sp_OASetProperty @objRegex, 'Global', 1 

    --执行 

    EXEC sp_OAMethod @objRegex, 'Replace', @retstr OUT, @string, @replacestr 

    --释放 

    EXECUTE sp_OADestroy @objRegex 

    RETURN @retstr 

END 

GO 

--保证正常运行的话,需要将Ole Automation Procedures选项置为1   

EXEC sp_configure 'show advanced options', 1   

RECONFIGURE WITH OVERRIDE 

EXEC sp_configure 'Ole Automation Procedures', 1   

RECONFIGURE WITH OVERRIDE

select TS_NAME,

      DS_STEP_NAME,dbo.RegexReplace(DS_DESCRIPTION,'\<[^<>]*\>', '',1),dbo.RegexReplace(DS_EXPECTED,'\<[^<>]*\>', '',1)

from td.TEST ,td.DESSTEPS Where TS_TEST_ID = DS_TEST_ID

      ORDER BY TS_NAME

select TS_NAME, DS_STEP_NAME,dbo.RegexReplace(DS_DESCRIPTION,'\<[^<>]*\>', '',1),dbo.RegexReplace(DS_EXPECTED,'\<[^<>]*\>', '',1) 
from td.TEST ,td.DESSTEPS Where TS_TEST_ID = DS_TEST_ID ORDER BY TS_NAME

去html标签函数参考:https://blog.csdn.net/return_false/article/details/11984613

另外还可以替换一下换行\r\n,导出的csv可以转成excel,再导入禅道~

你可能感兴趣的:(ALM(QC)导出csv并去掉html标签sql)