SQL:从字符串末尾删除hashtag

时间:2013-12-16 03:32:14

标签: sql database

我有一个这样的数据库:

+-------------+-------------+------+-----+---------+----------------+
| Field       | Type        | Null | Key | Default | Extra          |
+-------------+-------------+------+-----+---------+----------------+
| id          | int(11)     | NO   | PRI | NULL    | auto_increment |
| PosScore    | float       | YES  |     | NULL    |                |
| NegScore    | float       | YES  |     | NULL    |                |
| SynsetTerms | varchar(45) | YES  |     | NULL    |                |
+-------------+-------------+------+-----+---------+----------------+

一些SynsetTerms最后有#。 我可以只使用SQL查询并将其删除吗?

提前致谢。

2 个答案:

答案 0 :(得分:3)

您可以使用update声明:

update t
   set SynsetTerms = left(SynsetTerms, length(SynsetTerms) - 1)
   where SynsetTerms like '%#';

如果您要删除所有'#'

update t
   set SynsetTerms = replace(SynsetTerms, '#', '')
   where SynsetTerms like '%#%';

答案 1 :(得分:1)

在您的选择或更新语句中,只需执行以下操作:

SELECT replace(synsetTerms, '#','') from table

UPDATE table set synsetTerms =  replace(synsetTerms, '#','')

如果您只想更新包含“#”符号的记录,可以添加以下WHERE子句:

WHERE synsetTerms like '%#'