假设XXXX
,@@@@
或CharString
列的Table2
列中的任何其他值只会作为占位符出现,所以也可以使用sql server来实现您的目标。像这样的查询会这样做:
DECLARE @CharString VARCHAR(100)
DECLARE @ValueString VARCHAR(100)
DECLARE @SearchString VARCHAR(100)
DECLARE @ResultString VARCHAR(100)
SELECT @SearchString = stringval FROM Table1
SELECT @ResultString = stringval FROM Table1
DECLARE c CURSOR FAST_FORWARD FOR
SELECT CharString, ValueString
FROM Table2
OPEN c
FETCH NEXT FROM c INTO @CharString, @ValueString
WHILE @@FETCH_STATUS = 0
BEGIN
IF PATINDEX('%' + @CharString + '%', @SearchString) <> 0
SET @ResultString = REPLACE(@ResultString, @CharString, @ValueString)
FETCH NEXT FROM c INTO @CharString, @ValueString
END
CLOSE c
DEALLOCATE c
SELECT @ResultString
谢谢先生。这是正确的 – user1460564