开发者社区> 问答> 正文

请问下maxcomputer有枚举映射么?比如我一个订单状态orderState,(1-待支付,2-

请问下maxcomputer有枚举映射么?比如我一个订单状态orderState,(1-待支付,2-待发货,3-待收货,4-退货中,5-已退货,6-已取消,7-已完成,10-已评论)我想通过另外一个来orderStateStr来表示

展开
收起
游客3oewgrzrf6o5c 2022-06-29 12:02:45 596 0
21 条回答
写回答
取消 提交回答
  • 是的,阿里云MaxCompute支持使用枚举映射来实现类似的需求。在MaxCompute中,我们可以使用内置的 ENUM 类型来定义枚举类型,然后使用 MAP 或 STRUCT 类型将枚举类型映射到一个字符串类型来表示。

    具体来讲,你可以首先定义一个 ENUM 类型来表示订单状态:

    CREATE TYPE order_status AS ENUM ('WAITING_FOR_PAYMENT', 'WAITING_FOR_SHIPMENT', 'WAITING_FOR_RECEIPT', 'RETURNING', 'RETURNED', 'CANCELLED', 'COMPLETED', 'COMMENTED');
    

    然后你可以在表结构中使用一个 MAP 类型来将枚举类型映射到一个字符串类型:

    CREATE TABLE orders (
      order_id BIGINT,
      order_state MAP<order_status, STRING>
    );
    

    这样,在插入订单数据时,你可以将订单状态映射到一个字符串值中,例如:

    INSERT INTO orders VALUES (1, map('WAITING_FOR_PAYMENT', '待支付', 'WAITING_FOR_SHIPMENT', '待发货', 'WAITING_FOR_RECEIPT', '待收货', 'RETURNING', '退货中', 'RETURNED', '已退货', 'CANCELLED', '已取消', 'COMPLETED', '已完成', 'COMMENTED', '已评论'));
    

    在查询订单数据时,你可以通过查询 MAP 类型的字段并使用 .get() 方法来获取对应的字符串值,例如:

    SELECT order_id, order_state.get('WAITING_FOR_PAYMENT') AS order_state_str FROM orders;
    

    这样可以将订单状态转换为一个更易读的字符串值进行展示。

    2023-05-31 14:14:28
    赞同 展开评论 打赏
  • 公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com

    可以使用枚举映射来实现。具体操作步骤如下:

    1. 定义一个枚举类型,包含所有的订单状态。
    public enum OrderState {
        WAITING_FOR_PAYMENT(1, "待支付"),
        WAITING_FOR_SHIPPING(2, "待发货"),
        WAITING_FOR_RECEIVING(3, "待收货"),
        RETURNING(4, "退货中")
        RETURNED(5, "已退货"),
        CANCELED(6, "已取消"),
        COMPLETED(7, "已完成"),
        COMMENTED(10, "已评论");
        
        private int code;
        private String desc;
        
        OrderState(int code, String desc) {
            this.code = code;
            this.desc = desc;
        }
        
        public int getCode() {
            return code;
        }
        
        public String getDesc() {
            return desc;
        }
    }
    
    1. 在订单实体类中添加一个订单状态属性,并使用枚举类型来表示。
    public class Order {
        private int id;
        private OrderState orderState;
        
        // 省略其他属性和方法
    }
    
    1. 定义一个静态方法,用于将订单状态转换为字符串表示。
    public static String getOrderStateStr(OrderState orderState) {
        return orderState.getDesc();
    }
    
    1. 在代码中使用枚举映射,将订单状态转换为字符串表示。
    Order order = getOrderById(orderId);
    String orderStateStr = OrderState.getOrderStateStr(order.getOrderState());
    
    2023-05-29 09:25:19
    赞同 展开评论 打赏
  • 从事java行业9年至今,热爱技术,热爱以博文记录日常工作,csdn博主,座右铭是:让技术不再枯燥,让每一位技术人爱上技术

    你好,MaxCompute想要实现枚举值映射的话可以通过CASE WHEN 根据value或_condition的计算结果,灵活地返回不同的result值。MaxCompute提供以下两种case when格式:

    case <value>
    when <value1> then <result1>
    when <value2> then <result2>
    ...
    else <resultn>
    end
    

    或者另外一种方式

    case
    when (<_condition1>) then <result1>
    when (<_condition2>) then <result2>
    when (<_condition3>) then <result3>
    ...
    else <resultn>
    end
    

    相关参数:value:必填。比较的值。 _condition:必填。指定判断条件。 result:必填。返回值。

    2023-05-26 20:58:32
    赞同 展开评论 打赏
  • MaxCompute 支持枚举类型的定义,但是不支持直接的枚举映射。不过,您可以通过在表中定义一个字典表来实现这个功能。具体步骤如下:

    1. 创建字典表

    创建一个字典表,将订单状态和对应的状态字符串作为一对键值存储在表中。

    CREATE TABLE order_state_dict (
      order_state INT,
      order_state_str STRING
    ) LIFECYCLE 7;
    
    1. 向字典表中插入数据
    INSERT INTO order_state_dict VALUES
    (1, '待支付'),
    (2, '待发货'),
    (3, '待收货'),
    (4, '退货中'),
    (5, '已退货'),
    (6, '已取消'),
    (7, '已完成'),
    (10, '已评论');
    
    1. 在订单表中引用字典表 在订单表中定义一个 INT 类型的列 order_state,用于存储订单状态的编号。然后,通过 JOIN 操作将订单表和字典表关联起来,获取订单状态对应的字符串。
    CREATE TABLE orders (
      order_id INT,
      order_state INT,
      ...
    );
    SELECT orders.order_id, order_state_dict.order_state_str
    FROM orders JOIN order_state_dict ON orders.order_state = order_state_dict.order_state;
    

    这样,您就可以通过 order_state_str 列来表示订单的状态了。

    2023-05-19 23:30:10
    赞同 展开评论 打赏
  • 天下风云出我辈,一入江湖岁月催,皇图霸业谈笑中,不胜人生一场醉。

    是的,maxcomputer有枚举映射。你可以使用枚举映射来表示订单状态,使用另一个枚举映射来表示orderStateStr。在maxcomputer中,枚举映射通常使用名称来表示枚举值。例如,你可以定义一个枚举映射来表示订单状态,名称为OrderStatus:

    1-待支付:orderStatus = "1-待支付" 2-待发货:orderStatus = "2-待发货" 3-待收货:orderStatus = "3-待收货" 4-退货中:orderStatus = "4-退货中" 5-已退货:orderStatus = "5-已退货" 6-已取消:orderStatus = "6-已取消" 7-已完成:orderStatus = "7-已完成" 10-已评论:orderStatus = "10-已评论" 然后,你可以定义另一个枚举映射来表示orderStateStr:

    "待支付": "1-待支付" "待发货": "2-待发货" "待收货": "3-待收货" "退货中": "4-退货中" "已退货": "5-已退货" "已取消": "6-已取消" "已完成": "7-已完成" "已评论": "8-已评论" 这样,你就可以使用orderStatus和orderStateStr来表示不同的订单状态。例如:

    orderStateStr = "待支付" orderStatus = "1-待支付"

    2023-05-19 09:25:01
    赞同 展开评论 打赏
  • 发表文章、提出问题、分享经验、结交志同道合的朋友

    在 MaxCompute 中,并没有直接支持枚举映射的功能,你可以通过使用条件表达式和 CASE 语句来实现类似的映射功能。

    2023-05-18 16:08:45
    赞同 展开评论 打赏
  • 在MaxCompute中,可以通过创建视图来实现枚举映射,即将原始数据表中的枚举类型映射为字符串类型。在视图中,您可以使用 CASE WHEN 表达式来定义每个枚举值对应的字符串,例如:

    CREATE VIEW myview AS
    SELECT orderid, amount,
      CASE orderState
        WHEN 1 THEN '待支付'
        WHEN 2 THEN '待发货'
        WHEN 3 THEN '待收货'
        WHEN 4 THEN '退货中'
        WHEN 5 THEN '已退货'
        WHEN 6 THEN '已取消'
        WHEN 7 THEN '已完成'
        WHEN 10 THEN '已评论'
      END AS orderStateStr
    FROM mytable;
    
    

    在上面的语句中,mytable是原始数据表,包括 orderid、amount 和 orderState 三列。myview是创建的视图,将orderState映射为了orderStateStr字符串列。在这个 CASE WHEN 表达式中,根据不同的枚举值进行判断,使用字符串类型的文字来表示每个值的含义,最终返回一个对应的字符串。

    如果您没有权限创建视图或需要进行更多的数据处理和计算,可以通过编写 MaxCompute 用户自定义函数(UDF)来实现枚举映射。UDF可自由表达任何逻辑,最终功能是将输入映射到结果,因此可用于处理各种各样的数据类型和逻辑,包括枚举映射等。

    2023-05-17 18:01:37
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    MaxCompute是阿里云提供的一种大数据计算平台,支持基于SQL和MapReduce的编程模型,用户可以使用MaxCompute来处理PB级别的数据。如果您需要对订单状态进行枚举映射,可以考虑使用以下两种方法:

    1. 使用有条件表达式(CASE WHEN)进行映射

    在MaxCompute SQL中,可以使用有条件表达式(CASE WHEN)对订单状态进行枚举映射。例如,可以使用如下SQL语句将订单状态orderState转换为字符串形式orderStateStr:

    SELECT 
      CASE orderState
        WHEN 1 THEN '待支付'
        WHEN 2 THEN '待发货'
        WHEN 3 THEN '待收货'
        WHEN 4 THEN '退货中'
        WHEN 5 THEN '已退货'
        WHEN 6 THEN '已取消'
        WHEN 7 THEN '已完成'
        WHEN 10 THEN '已评论'
        ELSE '未知状态'
      END AS orderStateStr
    FROM my_table;
    

    上述SQL语句将会生成一个新的列orderStateStr,其中包含了订单状态的字符串表示。

    1. 在自定义函数中实现映射逻辑

    如果需要在自定义函数中对订单状态进行枚举映射,可以通过编写自定义UDF(User-Defined Function)或UDTF(User-Defined Table Function)来实现。例如,以下示例代码演示了如何使用自定义UDF将订单状态orderState转换为字符串形式orderStateStr:

    public class OrderStateMapper extends UDF {
        public String evaluate(int orderState) {
            switch (orderState) {
                case 1:
                    return "待支付";
                case 2:
                    return "待发货";
                case 3:
                    return "待收货";
                case 4:
                    return "退货中";
                case 5:
                    return "已退货";
                case 6:
                    return "已取消";
                case 7:
                    return "已完成";
                case 10:
                    return "已评论";
                default:
                    return "未知状态";
            }
        }
    }
    

    上述UDF代码将会生成一个新的函数OrderStateMapper,用户可以在MaxCompute SQL中调用该函数来进行订单状态映射。例如,以下SQL语句演示了如何使用OrderStateMapper函数将订单状态orderState转换为字符串形式orderStateStr:

    SELECT OrderStateMapper(orderState) AS orderStateStr FROM my_table;
    

    总之,在MaxCompute中可以通过有条件表达式或自定义函数两种方式对订单状态进行枚举映射。用户可以根据实际需求和技术水平选择合适的方法,并结合MaxCompute强大的数据处理能力,实现高效、可靠的大数据分析和计算操作。

    2023-05-17 16:50:12
    赞同 展开评论 打赏
  • 月移花影,暗香浮动

    阿里云MaxCompute支持在SQL中使用ENUM类型,但暂不支持枚举映射。您可以在SQL中手动定义ENUM类型,然后在表的列或者变量中使用。例如:

    CREATE TABLE example_table (
    id BIGINT,
    name STRING,
    status ENUM('open', 'closed', 'pending')
    );
    
    -- 插入一行数据
    INSERT INTO example_table VALUES (1, 'John', 'open');
    

    在以上示例中,我们定义了一个名为example_table的表,并在其中包含一个ENUM类型的列status,用于存储特定的值:openclosedpending。当插入新行时,您可以使用这些值作为status列的值之一。

    希望这能帮到您!

    2023-05-17 16:24:51
    赞同 展开评论 打赏
  • MaxCompute本身不直接提供枚举映射的功能,但可以通过以下两种方式实现类似的功能:

    使用常量类:您可以在代码中定义一个常量类,其中定义了一些常量值,这些常量值可以作为枚举类型使用。例如:

    public class MyConstants { public static final int ENUM_VALUE_1 = 1; public static final int ENUM_VALUE_2 = 2; public static final int ENUM_VALUE_3 = 3; } 在您的MaxCompute程序中,您可以通过导入这个常量类并使用其中定义的常量值来模拟枚举类型的使用。

    使用字典表:在MaxCompute中,您可以使用字典表来实现枚举映射。字典表是一个键值对表,其中键是枚举类型的值,值是对应的映射值。例如:

    CREATE TABLE my_enum_dict (enum_value INT, enum_name STRING) LIFECYCLE 1; INSERT INTO my_enum_dict VALUES (1, 'ENUM_VALUE_1'); INSERT INTO my_enum_dict VALUES (2, 'ENUM_VALUE_2'); INSERT INTO my_enum_dict VALUES (3, 'ENUM_VALUE_3'); 在您的MaxCompute程序中,您可以通过查询这个字典表来获得枚举值对应的映射值。

    需要注意的是,使用字典表会带来一定的性能损失和额外的维护成本,因此需要根据具体情况选择合适的方式。

    2023-05-17 15:52:44
    赞同 展开评论 打赏
  • 资深技术专家,全网粉丝10W+。主攻技术开发,擅长分享、写文、测评。

    MaxCompute本身并不提供枚举类型的支持,但可以使用其他方式实现枚举的映射。以下是一种常见的做法: 在MaxCompute中,可以创建一个映射表,用于将枚举值与对应的描述信息进行关联。可以创建一个名为order_state_mapping的表,包含两列:order_state和state_description,用来存储订单状态的枚举值和对应的描述信息。

    2023-05-17 15:29:01
    赞同 展开评论 打赏
  • 值得去的地方都没有捷径

    是的,MaxCompute支持枚举类型和映射功能。您可以按照以下步骤实现:

    定义一个枚举类型,例如: CREATE TYPE order_state_enum AS ENUM('1', '2', '3', '4', '5', '6', '7', '10'); 定义一个映射表,将枚举值映射到相应的字符串,例如: CREATE TABLE order_state_mapping ( order_state order_state_enum, order_state_str string ); INSERT INTO order_state_mapping VALUES ('1', '待支付'), ('2', '待发货'), ('3', '待收货'), ('4', '退货中'), ('5', '已退货'), ('6', '已取消'), ('7', '已完成'), ('10', '已评论'); 在您的订单表中添加一个orderState列,类型为order_state_enum。

    查询时,您可以使用JOIN操作将订单表和映射表连接起来,例如:

    SELECT o.orderId, m.order_state_str AS orderStateStr FROM orders o JOIN order_state_mapping m ON o.orderState = m.order_state; 这样,您就可以获取到订单状态的字符串表示了。

    2023-05-17 15:01:03
    赞同 展开评论 打赏
  • 云端行者觅知音, 技术前沿我独行。 前言探索无边界, 阿里风光引我情。

    在阿里云MaxCompute中,可以使用枚举类型来表示一组固定的取值范围,例如订单状态中的待支付、待发货等状态。如果您需要将订单状态转换为字符串类型,可以使用枚举类型和UDF函数来实现。

    具体步骤如下:

    a、定义一个枚举类型,用于表示订单状态。在MaxCompute Console中执行以下命令:

    CREATE TYPE order_state AS ENUM('WAIT_PAY', 'WAIT_SHIP', 'WAIT_RECEIVE', 'RETURNING', 'RETURNED', 'CANCELED', 'COMPLETED', 'COMMENTED');
    

    b、定义一个UDF函数,用于将订单状态转换为字符串类型。在MaxCompute Console中执行以下命令:

    CREATE FUNCTION order_state_to_str AS 'com.example.OrderStateToStr' USING JAR 'oss://your-bucket/your-path/your-jar.jar';
    

    c、在UDF函数中实现订单状态转换逻辑。

    d、在SQL语句中调用UDF函数,将订单状态转换为字符串类型。例如:

    SELECT order_id, order_state_to_str(order_state) AS order_state_str
    FROM orders;
    

    需要注意的是,枚举类型和UDF函数的使用可以提高代码的可读性和可维护性,但也会增加代码的复杂度和运行成本。因此,在使用枚举类型和UDF函数时,需要根据实际情况进行权衡和调整。

    2023-05-16 18:59:43
    赞同 展开评论 打赏
  • MaxCompute支持枚举类型(Enum),可以用于字段定义。但是MaxCompute中没有提供直接的枚举映射功能,需要在数据处理过程中进行转换。可以使用SQL的CASE语句或UDF自定义函数来实现枚举映射。例如,假设枚举类型为Gender,包含值Male和Female,可以使用以下SQL语句进行映射:

    SELECT CASE WHEN Gender = 'Male' THEN '0' WHEN Gender = 'Female' THEN '1' END AS GenderCode FROM table

    或者可以定义一个UDF函数来实现映射:

    import com.aliyun.odps.udf.UDF;

    public class GenderMapper extends UDF { public String evaluate(String gender) { if (gender.equals("Male")) { return "0"; } else if (gender.equals("Female")) { return "1"; } else { return null; } } }

    然后在SQL中可以使用该函数进行映射:

    SELECT GenderMapper(Gender) AS GenderCode FROM table

    2023-05-16 18:27:46
    赞同 展开评论 打赏
  • 可以使用枚举类型来完成订单状态的映射。可以在枚举中定义每个状态对应的字符串,并提供一个方法来获取对应的字符串,如下面的代码所示:

    public enum OrderState {
        WAIT_PAY(1, "待支付"),
        WAIT_DELIVERY(2, "待发货"),
        WAIT_RECEIVE(3, "待收货"),
        RETURNING(4, "退货中"),
        RETURNED(5, "已退货"),
        CANCELLED(6, "已取消"),
        FINISHED(7, "已完成"),
        COMMENTED(10, "已评论");
    
        private int code;
        private String desc;
    
        OrderState(int code, String desc) {
            this.code = code;
            this.desc = desc;
        }
    
        public int getCode() {
            return code;
        }
    
        public String getDesc() {
            return desc;
        }
    
        public static OrderState getByCode(int code) {
            for (OrderState state : values()) {
                if (state.code == code) {
                    return state;
                }
            }
            return null;
        }
    }
    

    然后,可以定义一个订单实体类,包含订单状态和订单状态对应的字符串,如下面的代码所示:

    public class Order {
        private int orderId;
        private OrderState orderState;
        private String orderStateStr;
    
        public int getOrderId() {
            return orderId;
        }
    
        public void setOrderId(int orderId) {
            this.orderId = orderId;
        }
    
        public OrderState getOrderState() {
            return orderState;
        }
    
        public void setOrderState(OrderState orderState) {
            this.orderState = orderState;
            this.orderStateStr = orderState.getDesc();
        }
    
        public String getOrderStateStr() {
            return orderStateStr;
        }
    
        public void setOrderStateStr(String orderStateStr) {
            this.orderStateStr = orderStateStr;
        }
    }
    

    在使用时,可以通过调用OrderState的getByCode方法来获取对应的枚举实例,然后将其设置给订单实体类的orderState属性,同时将其对应的字符串设置给orderStateStr属性。这样,就可以通过orderState和orderStateStr两个属性来表示订单状态了。

    2023-05-16 16:59:37
    赞同 展开评论 打赏
  • 在 MaxCompute 中,可以通过使用 Map 或者 Case When 等方式来实现枚举映射的功能。

    其中,Map 是一种常用的数据类型,可以将一个值映射到另一个值,并支持快速的查找和替换操作。您可以定义一个 Map 类型的变量,然后将订单状态映射为相应的字符串或数字。例如:

    -- 定义订单状态映射表
    set order_state_map = map(1, '待支付', 2, '已支付', 3, '已发货', 4, '已完成');
    
    -- 查询订单状态
    select order_id, get(order_state_map, order_state) as order_state_str from orders;
    
    

    在这个示例中,我们使用了 map 函数定义了一个订单状态映射表,将不同的订单状态映射到相应的字符串。然后,在查询订单状态时,使用了 get 函数从映射表中获取相应的字符串值。

    除了 Map,还可以使用 Case When 来实现枚举映射。Case When 是一种条件语句,可以根据不同的条件返回不同的值,类似于 Switch Case 语句。例如:

    -- 查询订单状态
    select order_id, 
      case order_state
        when 1 then '待支付'
        when 2 then '已支付'
        when 3 then '已发货'
        when 4 then '已完成'
      end as order_state_str
    from orders;
    
    

    在这个示例中,我们使用了 Case When 语句,根据订单状态的不同返回相应的字符串值。需要注意的是,如果枚举值较多,Case When 的嵌套会比较复杂,且可能影响查询性能。

    总之,在 MaxCompute 中,您可以根据实际需求选择合适的方式来实现枚举映射功能,并根据数据量和查询性能进行相应的优化和调整。

    2023-05-16 16:22:52
    赞同 展开评论 打赏
  • 十分耕耘,一定会有一分收获!

    楼主你好,MaxCompute中没有官方提供的枚举类型,但可以使用类似映射表的方式处理这种需求。具体来说,你可以将订单状态对应的数字和状态字符串写入一个表中,例如:

    order_stateorder_state_str
    1待支付
    2待发货
    3待收货
    4退货中
    5已退货
    6已取消
    7已完成
    10已评论

    然后在查询时通过 JOIN 操作将订单状态和状态字符串关联起来,例如:

    SELECT t.*, s.order_state_str
    FROM my_table t
    JOIN state_mapping_table s
    ON t.order_state = s.order_state;
    

    这样就可以获取到订单状态对应的状态字符串了。

    2023-05-16 10:00:45
    赞同 展开评论 打赏
  • 热爱开发

    在MaxCompute中,可以使用CASE WHEN语句来实现枚举映射的功能。具体做法如下:

    首先,你需要在表结构中添加一个表示订单状态字符串的列orderStateStr,例如:

    CREATE TABLE order_table (
        id BIGINT,
        orderState INT, -- 订单状态
        orderStateStr STRING -- 订单状态字符串
    );
    

    然后,在查询时,你可以使用CASE WHEN语句将订单状态映射为相应的状态字符串,例如:

    
    SELECT id, orderState,
           CASE orderState
               WHEN 1 THEN '待支付'
               WHEN 2 THEN '待发货'
               WHEN 3 THEN '待收货'
               WHEN 4 THEN '退货中'
               WHEN 5 THEN '已退货'
               WHEN 6 THEN '已取消'
               WHEN 7 THEN '已完成'
               WHEN 10 THEN '已评论'
               ELSE '未知状态'
           END AS orderStateStr
    FROM order_table;
    

    这个查询会将orderState列转换成相应的状态字符串,并将结果存储到orderStateStr列中。你可以根据需要修改查询条件和目标表结构,以适应不同的场景。

    总之,通过使用CASE WHEN语句,你可以在MaxCompute中很方便地实现枚举映射的功能。

    2023-05-15 17:14:20
    赞同 展开评论 打赏
  • 在 MaxCompute 中,您可以采用 case when 语句或者 map 类型的数据结构来实现枚举映射的功能。

    1. 使用 case when 语句:

    您可以在 SELECT 语句中使用 case when 语句根据订单状态字段的值,将其转换为订单状态描述字段的值。示例如下:

    SELECT orderState, 
           CASE orderState 
                WHEN 1 THEN '待支付'
                WHEN 2 THEN '待发货'
                WHEN 3 THEN '待收货'
                WHEN 4 THEN '退货中'
                WHEN 5 THEN '已退货'
                WHEN 6 THEN '已取消'
                WHEN 7 THEN '已完成'
                WHEN 10 THEN '已评论'
                ELSE '未知状态' 
           END as orderStateStr
    FROM mytable;
    
    1. 使用 map 类型的数据结构:

    您可以将订单状态的枚举值和订单状态的描述信息组成键值对,放置在一个 map 类型的列中,然后在 SELECT 语句中使用该列来获取订单状态描述信息。示例如下:

    -- 定义表结构
    CREATE TABLE mytable (
      orderId BIGINT,
      orderState TINYINT,
      orderStateMap MAP<TINYINT, STRING>
    );
    
    -- 插入数据
    INSERT INTO mytable 
       VALUES(1, 1, MAP(1, '待支付', 2, '待发货', 3, '待收货', 4, '退货中', 5, '已退货', 6, '已取消', 7, '已完成', 10, '已评论'));
    
    -- 查询数据,获取订单状态描述信息
    SELECT orderId, orderState, orderStateMap[orderState] as orderStateStr
    FROM mytable;
    

    以上两种方法都可以实现枚举映射的功能,具体使用哪种方式可以根据实际情况选择。

    2023-05-15 17:02:08
    赞同 展开评论 打赏
  • 有的,MaxCompute有枚举映射功能。

    2023-05-15 16:25:36
    赞同 展开评论 打赏
滑动查看更多
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载