34,590
社区成员
发帖
与我相关
我的任务
分享
IF OBJECT_ID('[dbo].[Fun_String2ToStringArray]') IS NOT NULL
DROP FUNCTION [dbo].[Fun_String2ToStringArray]
GO
CREATE FUNCTION [dbo].[Fun_String2ToStringArray](@str NVARCHAR(MAX), @split NVARCHAR(10))
RETURNS @table TABLE ([item] NVARCHAR(max))
AS
BEGIN
IF LEN(@split) = 0
BEGIN
SET @split = N','
END
DECLARE @xml XML;
SET @xml = CONVERT(XML, '<x><![CDATA[' + replace(CONVERT(VARCHAR(MAX), @str), @split, ']]></x><x><![CDATA[') + ']]></x>')
INSERT INTO @table
SELECT item
FROM (SELECT c.value('text()[1]', 'nvarchar(4000)') [item]
FROM @xml.nodes('/x') t(c)) t
WHERE item IS NOT NULL
RETURN
END
GO
2. 查询语句:
SELECT * FROM dbo.T_DOC_TATEGORIES as a
WHERE a.id in (
select item from [dbo].[Fun_String2ToStringArray]('xxxx,yyyy',',')
)
SELECT * FROM dbo.T_DOC_TATEGORIES
WHERE CHARINDEX(ID,(SELECT DBO.GETPARENTLIST('XXXXXXX')))>0