34,593
社区成员
发帖
与我相关
我的任务
分享
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
查询:
SELECT * FROM GOV_FILE A INNER JOIN GOV_LEADER_MAN B
ON B.L_Name in ( select item from dbo.Fun_String2ToStringArray(A.L_Name,',') )
SELECT * FROM GOV_FILE A
JOIN GOV_LEADER_MAN B ON ','+A.L_NAME+',' LIKE '%,'+B.L_NAME+',%'