我有一个用于查找两个单词是否为字谜的 SQL 代码。
DECLARE @str1 VARCHAR(100), @str2 VARCHAR(100)
SELECT @str1 = 'mmaa', @str2 = 'mama'
IF LEN(@str1) <> LEN(@str2)
BEGIN
SELECT 'NOT EQUAL'
END
ELSE
BEGIN
IF (SELECT COUNT(*) FROM
(
select substring(@str1, number, 1) as data
from master..spt_values as m
where m.type='p' and number <= len(@str1) AND number > 0
UNION
select substring(@str2, number, 1) as data
from master..spt_values as m
where m.type='p' and number <= len(@str2) AND number > 0
)
t)
= LEN(@str1)
SELECT '1 anagram'
ELSE
SELECT '0 not anagram'
END
但是对于像 mmaa 和 mama 这样的词,这个程序返回的不是 anagram。但它们是字谜。我怎么解决这个问题?