mysql - 如果字符串以指定字符开头或结尾,则替换字符串中的字符

标签 mysql sql phpmyadmin

我的数据库中有一列包含以连字符开头或结尾的条目。如果连字符是字符串中的最后一个或第一个(或两个)字符,我想找到这些行并删除/替换连字符。

我现在拥有的:

-sample-value-one-
sample-value-two-
-sample-value-three
sample-value-four

这就是我想要实现的目标:

sample-value-one
sample-value-two
sample-value-three
sample-value-four

所以我必须找到所有以连字符开头或结尾的行,如果匹配,则删除连字符,而字符串中的其他连字符应保持不变。

替换一个字符串我没有问题,但这个任务对我来说似乎太难了。

最佳答案

假设它只是一个连字符,那么:

# Remove first hyphen
update myTable 
set myCol = substr(myCol,2)
where myCol like '-%'
;

# Remove last hyphen
update myTable 
set myCol = substr(myCol,1,length(myCol)-1)
where myCol like '%-'
;

关于mysql - 如果字符串以指定字符开头或结尾,则替换字符串中的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42010651/

相关文章:

java - 如何在 hibernate 框架中插入新行?

mysql - 如何在重复 key 更新后添加 AND ?

mysql - 用于跟踪全年销售情况的 SQL 关系数据库

mysql - 在 PHPMYADMIN 中使用 group_concat 将结果显示为 [BLOB - 3B]

php - 在php中返回sql中的特定行和desc顺序

php-mysql 更新而不删除已有数据

mysql - 如何在 bash 脚本中将变量传递给 SSH 命令

java - 从数据库创建 Hibernate 映射文件和 PJOS 时出错

c# - 无法检测到存储过程返回类型

php - 从 2 个不同的表中选择值并在具有相同 ID 的一行中打印值