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

如何在Oracle SQL中结合CASE WHEN与SUBSTR按规则更新Name列?

条件更新Tech_table的Name列

要实现仅当Category符合%-%-%格式时更新Name列,其余情况保留原值,可以结合CASE WHEN和字符串函数编写UPDATE语句:

UPDATE Tech_table
SET Name = CASE
    WHEN INSTR(Category, '-', 1, 2) > 0 THEN SUBSTR(Category, INSTR(Category, '-', 1, 2) + 1)
    ELSE Name
END;

逻辑说明

  • INSTR(Category, '-', 1, 2):该函数返回Category中第2个-的位置,若不存在第2个-则返回0;
  • 当返回值大于0时,判定Category符合%-%-%格式,此时用SUBSTR截取第2个-之后的内容替换Name;
  • 不满足条件时,Name保持原有值不变。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 22:40:43