You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在SQL中生成包含N个NULL值的列

SQL生成指定数量NULL值列的实现方案

通用实现(支持PostgreSQL、MySQL 8.0+、SQL Server、Oracle 11gR2+)

使用递归CTE生成指定行数的结果,下方示例为生成10行NULL值,修改WHERE条件中的数字即可调整最终输出的行数:

WITH RECURSIVE null_list AS (
    SELECT 1 AS row_num
    UNION ALL
    SELECT row_num + 1 FROM null_list WHERE row_num < 10
)
SELECT NULL AS target_column FROM null_list;

不同数据库的简化写法

  • PostgreSQL:直接调用generate_series函数实现,语法更简洁
SELECT NULL AS target_column FROM generate_series(1, 10);
  • MySQL 5.x(无递归CTE支持):可以通过UNION拼接临时行,适合少量NULL值场景
-- 示例生成4行NULL值,需要更多行可以追加UNION ALL语句
SELECT NULL AS target_column FROM (
    SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4
) AS temp;
  • SQL Server:可借助系统表快速生成大量行,无需递归
-- 示例生成10行NULL值,修改TOP后的数字即可调整行数
SELECT TOP 10 NULL AS target_column FROM sys.columns;

补充说明

如果需要生成多列NULL值,只需在SELECT子句中追加NULL AS 自定义列名,多列之间用逗号分隔即可。

内容的提问来源于stack exchange,提问作者Victor M

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 15:57:01