在SQL Server中要輸出20個連續的9,可以使用以下幾種方法:
- 使用REPLICATE函數重復生成字符:
SELECT REPLICATE('9', 20) AS Result
2. 使用UNION ALL聯合查詢生成多行:
SELECT '9' AS Number FROM (VALUES (1),(1),(1),(1),(1),(1),(1),(1),(1),(1),
???????????????????????????????? (1),(1),(1),(1),(1),(1),(1),(1),(1),(1)) AS T(N)
3. 使用CTE遞歸生成:
```sql
WITH Numbers AS (
??? SELECT 1 AS n, '9' AS str
??? UNION ALL
??? SELECT n+1, str+'9' FROM Numbers WHERE n < 20
)
SELECT str FROM Numbers WHERE n = 20
OPTION (MAXRECURSION 20)
4. 使用CROSS JOIN生成笛卡爾積:
SELECT REPLICATE('9', 20) AS Result
FROM (SELECT 1 AS n FROM (VALUES (1),(1),(1),(1),(1)) AS t1(n)
????? CROSS JOIN (VALUES (1),(1),(1),(1)) AS t2(n)) AS t
最簡單直接的方法是第一種使用REPLICATE函數,它會返回由指定字符串重復指定次數后組成的字符串。