Estou tentando fazer algo como o seguinte trabalho:
WITH results(n, string ) AS (
SELECT 1,'lol'
UNION ALL
SELECT n+1, string + ' lol'
FROM results
WHERE n<6
)
SELECT * FROM results
Mas o SQL parece não reconhecer a concatenação de strings na segunda coluna e retorna o erro:
Os tipos não correspondem entre a âncora e a parte recursiva na coluna "string" da consulta recursiva "resultados".
Minha saída desejada seria algo como
1, rs
2, lol lol
3, lol lol lol
e assim por diante
Você pode convertê-lo para varchar(2000) ou varchar(max) dependendo de suas necessidades, então ambos devem ter o mesmo tipo de dados e tamanho
para o valor 1, usando um tipo de dados inteiro/int
De BOL relacionado a CTE ,
você pode ver o tipo de dados usando
SQL_VARIANT_PROPERTY
resultado:
O tipo de dados para valor/expressão
1
pode ser verificado por: