【问题标题】:Deleting all text from ### using a sql statement使用 sql 语句从 ### 中删除所有文本
【发布时间】:2015-05-04 19:36:10
【问题描述】:

我在这样的表中有数百条记录

一些文字 ### 一些其他文字

我想删除 ### 之后的所有内容,包括 ### 以便只有

一些文字将保留 谢谢

【问题讨论】:

    标签: mysql sql replace sql-update


    【解决方案1】:
    UPDATE some_table
    SET some_column = SUBSTR( some_column, 1, Locate( '###', some_column ))
    WHERE some_column LIKE '%###%' 
    

    【讨论】:

      【解决方案2】:

      这取决于您使用的 sql 版本,取决于实际的数据库,但它会是这样的:

      update table set textfield =     substring(textfield,0,indexof(textfield,'###'));
      

      您可能需要从 indexof 结果中加/减一个。

      要测试它,您可以在选择中使用子字符串:

      select substring(textfield,0,indexof(textfield,'###')
      from tablename;
      

      【讨论】:

        【解决方案3】:
        UPDATE tbl
            SET col = SUBSTRING_INDEX(col, '###', 1)
            WHERE col LIKE '%###%';
        

        【讨论】:

          【解决方案4】:

          使用这个查询,它工作正常

          更新表名 SET 列名 = 左(列名,定位('#',列名) - 1)在哪里 定位('#',列名) > 0

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2023-03-16
            • 1970-01-01
            • 1970-01-01
            • 2013-10-15
            • 1970-01-01
            相关资源
            最近更新 更多