mysql:如何删除字段开头或结尾的字符
Posted
技术标签:
【中文标题】mysql:如何删除字段开头或结尾的字符【英文标题】:mysql: How can I remove character at start or end of field 【发布时间】:2012-06-13 10:01:30 【问题描述】:我有一个包含逗号分隔列表的字段。一些旧记录在字段的开头或结尾有逗号。我需要删除这些多余的逗号。
例子:
,the,their,then
到 the,their,then
或
the,their,then,
到 the,their,then
编辑:我正在寻找一个 UPDATE 语句。我需要更改记录。
【问题讨论】:
这是用于 SELECT 还是 UPDATE 语句? 用于更新。我需要删除它们。 【参考方案1】:查看this网站
SELECT TRIM(TRAILING 'xyz' FROM 'barxxyz');
在你的情况下是 ',' 而不是 'xyz'
【讨论】:
这将返回删除尾随逗号的值,但不会修改数据库。为此,他们需要在更新语句中使用 TRIM()。 那些“智能引号”是有效的语法吗?【参考方案2】:@codingbiz,感谢您提供网站链接:
快速示例:
SELECT TRIM(BOTH ',' FROM fieldname) from tablename
SELECT TRIM(LEADING ',' FROM fieldname) from tablename
SELECT TRIM(TRAILING ',' FROM fieldname) from tablename
谢谢!
【讨论】:
【参考方案3】:问题是如何删除前导和尾随字符,我将向您展示一个带有更新查询的示例。
UPDATE your_table_name
SET your_record_name = TRIM(BOTH ',' FROM your_record_name)
【讨论】:
这个实际上是正确的,因为它实际上提供了一个有效的 UPDATE 语句。 完美答案!【参考方案4】:您正在寻找TRIM
function。
【讨论】:
【参考方案5】:为避免其他表受到影响,您应该使用 where 子句。这些只会更新带有尾随','的行
UPDATE table_name
set field_name = TRIM(TRAILING ',' FROM field_name)
WHERE field_name LIKE '%,';
不放 where 子句会影响我的空值行并使它们为空字符串
【讨论】:
以上是关于mysql:如何删除字段开头或结尾的字符的主要内容,如果未能解决你的问题,请参考以下文章
从 JSON 对象/字符串或 Java 脚本变量中删除开头和结尾的双引号?