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

如何通过Select创建空的Integer/Decimal类型列

如何创建Integer/Decimal类型的空列

哈哈,这个坑我踩过!你用NULL AS columnname没生效的核心原因是:大多数SQL数据库没法仅凭一个NULL就推断出你要的是整数/小数类型,默认会给你归到字符串或者不确定类型里。想要创建指定类型的空列,得显式指定数据类型才行,下面分几种常用数据库给你具体写法:

  • MySQL/MariaDB:使用CAST()函数将NULL转换为指定数值类型

    SELECT 
      CAST(NULL AS SIGNED) AS empty_integer_column,  -- 整数类型空列
      CAST(NULL AS DECIMAL(10,2)) AS empty_decimal_column;  -- 小数类型空列(精度10,小数位2)
    
  • PostgreSQL:可以用::类型转换符或者CAST()函数

    SELECT 
      NULL::INTEGER AS empty_integer_column,  -- 整数类型空列
      CAST(NULL AS NUMERIC(10,2)) AS empty_decimal_column;  -- 小数类型空列
    
  • SQL Server:用CAST()或CONVERT()函数都可以

    SELECT 
      CAST(NULL AS INT) AS empty_integer_column,  -- 整数类型空列
      CONVERT(DECIMAL(10,2), NULL) AS empty_decimal_column;  -- 小数类型空列
    
  • BigQuery:支持直接指定类型后缀,或者用SAFE_CAST()

    SELECT 
      NULL INT64 AS empty_integer_column,  -- 整数类型空列
      SAFE_CAST(NULL AS NUMERIC) AS empty_decimal_column;  -- 小数类型空列
    

简单来说,核心就是告诉数据库:这个空列我要的是整数/小数类型,别自己瞎猜!这样创建出来的空列就会是你想要的数值类型啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 07:21:55