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

如何在SELECT查询中将指定列的数据类型从text转为number

SQL查询中TEXT转NUMBER的实现方案

根据你使用的数据库类型,选择对应的转换函数修改查询语句即可,以下是常见数据库的处理方式:

MySQL/MariaDB

使用CAST()或CONVERT()函数将文本转为数字类型,示例:

SELECT
    "customers"."id",
    "customers"."name",
    CAST("customers"."Antal beregninger" AS UNSIGNED) AS "Antal beregninger", -- 转为无符号整数,也可替换为DECIMAL(10,2)等小数类型
    "customers"."Status",
    "Afgiftsberegner - Antal beregninger pr. Forhandler - SQL"."count(id)"
FROM  
    "customers"

PostgreSQL

使用类型转换运算符::或CAST()函数,示例:

SELECT
    "customers"."id",
    "customers"."name",
    "customers"."Antal beregninger"::INTEGER AS "Antal beregninger", -- 转为整数,也可替换为NUMERIC(10,2)等小数类型
    "customers"."Status",
    "Afgiftsberegner - Antal beregninger pr. Forhandler - SQL"."count(id)"
FROM  
    "customers"

SQL Server

使用CAST()或CONVERT()函数,示例:

SELECT
    "customers"."id",
    "customers"."name",
    CAST("customers"."Antal beregninger" AS INT) AS "Antal beregninger", -- 转为整数,也可替换为DECIMAL(10,2)等小数类型
    "customers"."Status",
    "Afgiftsberegner - Antal beregninger pr. Forhandler - SQL"."count(id)"
FROM  
    "customers"

Oracle

使用TO_NUMBER()函数,示例:

SELECT
    "customers"."id",
    "customers"."name",
    TO_NUMBER("customers"."Antal beregninger") AS "Antal beregninger",
    "customers"."Status",
    "Afgiftsberegner - Antal beregninger pr. Forhandler - SQL"."count(id)"
FROM  
    "customers"

注意事项

  • 如果目标文本列包含非数字字符,转换会直接报错。可以结合条件函数过滤无效值,比如MySQL中用IF(REGEXP_LIKE("Antal beregninger", '^[0-9]+$'), CAST(...), NULL),将非数字内容转为NULL。
  • 根据实际业务需求选择合适的数字类型(整数、小数等),避免精度丢失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 23:31:09