Не уверен, как четко описать то, что я хотел бы достичь, надеюсь, что мой вопрос ниже имеет какой-то смысл.
Предположим, у меня есть строка ABCDE
. Я хотел бы повторить столько раз, сколько его длины, чтобы создать сдвинутые образцы строки, как показано ниже
_BCDE
, A_CDE
, AB_DE
, ABC_E
, ABCD_
Итак, я хотел бы создать все комбинации с подчеркиванием во всех возможных позициях, чтобы использовать их в запросе, подобном
DECLARE @WORD AS NVARCHAR(50)
SET @WORD = 'ABCDE'
SELECT position = PATINDEX(CONCAT('%', @WORD, '%'), 'BGHKAGCDEBABIDEKFABCREDNBSALCDEOPL');
, где @WORD должны быть словами с _
.
У меня такое ощущение, что это можно сделать с помощью рекурсивного CTE
, но я не уверен, как начать.
Любая помощь будет высоко ценится.