【问题标题】:Remove all after certain character/phrase SQLITE删除某些字符/短语 SQLITE 之后的所有内容
【发布时间】:2021-08-09 23:36:21
【问题描述】:

SQLITE 中的表,想用一种简单的方法删除 Company_name_ 列中一组短语/字符右侧的所有内容,在本例中为“LLC”之后的所有内容:

Company_name_
Example LLC $42
Example llc,klp
Example LLc jim

变成

Company_name_
Example LLC
Example llc
Example LLc

尝试设置 Charindex 和 Substr,但出现语法错误。 谢谢

【问题讨论】:

    标签: string sqlite substring case instr


    【解决方案1】:

    您可以使用字符串函数 SUBSTR()INSTR() 来做到这一点。

    如果您想要 SELECT 查询,请使用带有运算符 LIKECASE 表达式来检查列值是否包含 'LLC'

    SELECT CASE
             WHEN Company_name_ LIKE '%LLC%'
               THEN SUBSTR(
                      Company_name_,
                      1,
                      INSTR(UPPER(Company_name_), 'LLC') + LENGTH('LLC') - 1
                    ) 
             ELSE Company_name_ 
           END Company_name_   
    FROM tablename;
    

    如果要更新表格:

    UPDATE tablename
    SET Company_name_ = SUBSTR(
                          Company_name_,
                          1,
                          INSTR(UPPER(Company_name_), 'LLC') + LENGTH('LLC') - 1
                        ) 
    WHERE Company_name_ LIKE '%LLC%';
    

    请参阅demo

    【讨论】:

      猜你喜欢
      • 2017-08-26
      • 1970-01-01
      • 1970-01-01
      • 2018-07-15
      • 2011-08-03
      • 1970-01-01
      • 2014-03-26
      • 2015-10-23
      • 1970-01-01
      相关资源
      最近更新 更多