我正在努力从一列数据中删除最后30个字符

时间:2019-09-04 18:29:11

标签: mysql sql phpmyadmin

我希望从数据库中的列中删除最后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个字符。

2 个答案:

答案 0 :(得分:0)

您可以使用

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) 

答案 1 :(得分:0)

您需要使用update语句:

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