PostgreSQL在Update时使用Substring函数截取字符串并且加上CASE WHEN THEN条件判断

--更新
UPDATE wp_order_detail
SET layout_type = (
    SELECT
        CASE
    WHEN CHAR_LENGTH (cs.size_code) >= 6 THEN
        SUBSTRING (cs.size_code FROM 1 FOR 3)
    ELSE
        ''
    END
    FROM
        wp_catalog_size cs
    WHERE
        cs.size_code LIKE '%' || wp_order_detail.size_code
    LIMIT 1
);

--查询
SELECT
    detail.ID,
    detail.size_code,
    (
        SELECT
            cs.size_code
        FROM
            wp_catalog_size cs
        WHERE
            cs.size_code LIKE '%' || detail.size_code
        LIMIT 1
    ) AS size_code_2,
    detail.layout_type
FROM
    wp_order_detail detail;

 

大体意思就是用wp_order_detail表的size_code模糊匹配wp_catalog_size表的size_code。

匹配到后,判断是否大于等于6位,如果时6位,截取前3位,赋值给layout_type,否则直接赋空值。

转载于:https://www.cnblogs.com/VAllen/p/PostgreSQL-Substring-In-Update-Action.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值