我正在尝试进行以下工作:
WITH results(n, string ) AS (
SELECT 1,'lol'
UNION ALL
SELECT n+1, string + ' lol'
FROM results
WHERE n<6
)
SELECT * FROM results
但 SQL 似乎无法识别第二列中的字符串连接并返回错误:
递归查询“结果”的“字符串”列中的锚点和递归部分之间的类型不匹配。
我想要的输出将类似于
1,哈哈
2、哈哈哈哈哈
3、哈哈哈哈哈
等等
您可以根据需要将其转换为 varchar(2000) 或 varchar(max) ,因此两者都应该具有相同的数据类型和值 1 的大小
,它使用 integer/int 数据类型
来自与 CTE 相关的BOL ,
您可以通过使用查看数据类型
SQL_VARIANT_PROPERTY
输出:
值/表达式的数据类型
1
可以通过以下方式检查: