SQL查询?
我有一个表列,其中包含各种长度的字符串。例如 abcd,abcde,fghijk
现在,我想从此列中获取所有不同的4个长字符串。
输出为:
abcd, bcde, fghi, ghij, 嗨,
谢谢
答案 0 :(得分:3)
您可以使用数字表。
以下使用master..spt_values
进行演示,但您应该改用专用的
WITH Nums
AS (SELECT number
FROM master..spt_values
WHERE type = 'P'
AND number BETWEEN 1 AND 1000)
SELECT DISTINCT SUBSTRING(YourCol, Number, 4)
FROM (VALUES('abcd'),
('abcde'),
('fghijk'))YourTable(YourCol)
JOIN Nums N
ON Number BETWEEN 1 AND LEN(YourCol) - 3