【问题标题】:I am struggling to remove the last 30 characters from data in a column我正在努力从列中的数据中删除最后 30 个字符
【发布时间】:2019-09-04 18:29:11
【问题描述】:

我希望从我的数据库中的列中删除最后 30 个字符。

Column Name = gatewayid
Table Name = tblclients

我创建了以下内容,它向我展示了结果并且它是正确的,但它没有提交或更改任何内容。

SELECT gatewayid, /* ANSI Syntax */SUBSTRING( gatewayid
FROM 1 
FOR CHAR_LENGTH( gatewayid ) -30 ) AS col_trimmed, /* MySQL Syntax */SUBSTRING( gatewayid, 1, CHAR_LENGTH( gatewayid ) -30 ) AS col_trimmed
FROM tblclients

我错过了什么,我是菜鸟:)

我希望列中的数据从每行中删除最后 30 个字符。

【问题讨论】:

  • SELECT 只检索数据,不能改变它,只有它是如何中继的。您需要 UPDATE 来更改现有数据。

标签: mysql sql phpmyadmin


【解决方案1】:

你需要使用update声明:

update tblclients 
set gatewayid = substring( gatewayid, 1, char_length( gatewayid ) -30 );

【讨论】:

    【解决方案2】:

    你可以使用

    SELECT gatewayid
    ,/*ANSI Syntax*/ SUBSTRING(gatewayid FROM 1 FOR CHAR_LENGTH(gatewayid) - 30) col_trimmed_ansi
    ,/* MySQL Syntax*/ SUBSTRING(gatewayid, 1  CHAR_LENGTH(gatewayid) -30) AS col_trimmed_mysql
    FROM tblclients
    

    用于更新表格内容

      UPDATE tblclients
      set gatewayid = SUBSTRING(gatewayid FROM 1 FOR CHAR_LENGTH(gatewayid) - 30) 
    

    【讨论】:

      猜你喜欢
      • 2021-05-11
      • 2022-06-13
      • 2019-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多