sql 删除表中的字段的最后一个字符

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql 删除表中的字段的最后一个字符相关的知识,希望对你有一定的参考价值。

表A,删除【字段A】的最后一个字符【,】的sql应该怎么写?

字段A
问题,回答,
教育,基本,
开学,升级,

我现在是要删除每一行的最后一个【,】,而中间不不删除。

sqlserver写法

如果是其他数据库请说明,略有改动

update 表A set 字段A=substring(字段A,1,len(字段A)-1) where 字段A like \'%,\'追问

update news set key=substring(key,1,len(key)-1) where key like \'%,\'

提示:#1305 - FUNCTION zuowen.len does not exist

追答

你这是mysql

 

改一下

update 表A set 字段A=substr(字段A,1,length(字段A)-1) where 字段A like \'%,\'

 

这样呢?

追问

是的,是mysql,还是提示那个

追答

我改了一下,把len改成length了,你看下上边

追问

没有用,数据没有发生变化

追答

你,浏览器右上角,查收下

参考技术A update 表名 set 字段=substring(字段,1,len(字段)-1) where 字段 like'%字母%'

从第一个或最后一个删除字符

【中文标题】从第一个或最后一个删除字符【英文标题】:drop character from first or the last 【发布时间】:2022-01-17 03:25:01 【问题描述】:

我的表中有三个字段: A、B 和 C 我想将一些表达式与逗号字符连接起来,关于该字段是否为 positif,这是我的 sql 请求:

 select 
 ' ' || (case when A >0 Then 'A is positif' End) || ','
 || (case when B >0 Then 'B is positif' End) || ','
 || (case when C >0 Then 'C is positif' End) || ',' AS result
From table; 

问题是当我只有一个 positif 值时,我得到逗号,然后结束,但是它应该只是分隔值并且 不会出现在末尾或开头,任何人都可以帮忙请从那时起删除逗号或为整个处理提供替代方案? 提前谢谢你。

问候;

【问题讨论】:

【参考方案1】:

我已经解决了子字符串函数的问题。

 select 
 substring((case when A >0 Then ',A is positif' End) 
 || (case when B >0 Then ',B is positif' End) 
 || (case when C >0 Then ',C is positif' End),2)  AS result
From table; 

【讨论】:

以上是关于sql 删除表中的字段的最后一个字符的主要内容,如果未能解决你的问题,请参考以下文章

SQL增加删除更改表中的字段名

如何写sql 语句,能删除字段中某个字符到最后字符串的?

如何写sql 语句,能删除字段中某个字符到最后字符串的?

sql 表中一个字段含有大量的中文字符,怎么替换掉

如何用SQL语句删除两个表中相同的记录?

在SQL中如何删除表中的unique属性