Mysql SQL删除最后一个字符,如果它是-&引用;
我想删除行中的最后一个字符,但如果最后一个字符是“-” 例如,我的行如下所示:Mysql SQL删除最后一个字符,如果它是-&引用;,mysql,sql,Mysql,Sql,我想删除行中的最后一个字符,但如果最后一个字符是“-” 例如,我的行如下所示: hello-world today-is-monday- hello-world today-is-monday 应该是这样的: hello-world today-is-monday- hello-world today-is-monday 如何在SQL中实现这一点?您可以使用trim()函数作为 mysql> select trim( trailing '-' from 'hello-');
hello-world
today-is-monday-
hello-world
today-is-monday
应该是这样的:
hello-world
today-is-monday-
hello-world
today-is-monday
如何在SQL中实现这一点?您可以使用trim()
函数作为
mysql> select trim( trailing '-' from 'hello-');
+-----------------------------------+
| trim( trailing '-' from 'hello-') |
+-----------------------------------+
| hello |
+-----------------------------------+
1 row in set (0.00 sec)
mysql> select trim( trailing '-' from 'hello');
+----------------------------------+
| trim( trailing '-' from 'hello') |
+----------------------------------+
| hello |
+----------------------------------+
1 row in set (0.00 sec)
因此,在查询中,用您的列名替换硬编码的
hello-
。如果您的意思是更新表,那么
UPDATE table
SET field = SUBSTRING(field, 1, CHAR_LENGTH(field) - 1)
WHERE field LIKE '%-'
SELECT CASE WHEN field LIKE '%-'
THEN SUBSTRING(field, 1, CHAR_LENGTH(field) - 1)
ELSE field
END AS field
如果您的意思是要编辑输出而不是表中的数据,那么
UPDATE table
SET field = SUBSTRING(field, 1, CHAR_LENGTH(field) - 1)
WHERE field LIKE '%-'
SELECT CASE WHEN field LIKE '%-'
THEN SUBSTRING(field, 1, CHAR_LENGTH(field) - 1)
ELSE field
END AS field
遵循代码snipet申报 O/p:b_msg:1,2,3,4