Tsql T-sqlcte递归
我只想让它回来 1. 二,Tsql T-sqlcte递归,tsql,Tsql,我只想让它回来 1. 二, 为什么这不起作用。CTE会将1和2打印为行。这就是你想要的吗 WITH CTE1 AS ( select 1 as value UNION ALL select value=value+1 FROM CTe1 WHERE value < 2 ) select * from cte1 CTE将1和2打印为行。这就是你想要的吗 WITH CTE1 AS ( select 1 as value UNION
为什么这不起作用。CTE会将1和2打印为行。这就是你想要的吗
WITH
CTE1 AS
(
select 1 as value
UNION ALL
select value=value+1
FROM CTe1
WHERE value < 2
)
select * from cte1
CTE将1和2打印为行。这就是你想要的吗
WITH
CTE1 AS
(
select 1 as value
UNION ALL
select value=value+1
FROM CTe1
WHERE value < 2
)
select * from cte1
以下内容将打印出1、2:
问题是没有为第一个CTE子句定义值。我猜你想要1。然后第二个CTE条款自引用第一个条款并添加1。以下内容将打印出1,2:
问题是没有为第一个CTE子句定义值。我猜你想要1。然后,第二个CTE子句自引用第一个CTE子句并添加1。下面是一段代码,用于在字符串中搜索字符mach,谢谢大家
Begin
with recursiveCTE(matchNumber, foundAt) as (
select 1, charindex(@toFind, @ToSearch, 0)
union all
select matchNumber + 1, charindex(@toFind, @ToSearch, foundAt + 1)
from recursiveCTE where foundAt > 0
)
select
matchNumber as "Match Number",
(case when foundAt = 0 then null else foundAt end) as "Found At"
from recursiveCTE
where foundAt 0 or matchNumber = 1
;
end;
这是一个搜索字符串中字符的代码,谢谢大家
Begin
with recursiveCTE(matchNumber, foundAt) as (
select 1, charindex(@toFind, @ToSearch, 0)
union all
select matchNumber + 1, charindex(@toFind, @ToSearch, foundAt + 1)
from recursiveCTE where foundAt > 0
)
select
matchNumber as "Match Number",
(case when foundAt = 0 then null else foundAt end) as "Found At"
from recursiveCTE
where foundAt 0 or matchNumber = 1
;
end;
请联机阅读有关CTE语法的书籍。请联机阅读有关CTE语法的书籍。非常奇怪我在使用1作为值之前尝试了values=1?非常奇怪我在使用1作为值之前尝试了values=1?