删除最后一个字符并在MYSQL中添加新的两个字符

时间:2013-07-03 09:45:53

标签: mysql string add

我想从MYSQL中的一列中的单词中删除最后一个字符,并直接在同一个单词中添加两个新字符。例如,我想将beiðni改为beiðn| i。

  

这是我的查询= UPDATE ds_1_headword_backup1 SET词干= CONCATE((SUBSTRING(词干,1, ,LENGTH(词干) - 2), '|i') WHERE词干 LIKE '%i' AND gram_1_word_group = 'f' AND gram_2_endings = 'indecl'

3 个答案:

答案 0 :(得分:4)

尝试这样的事情:

UPDATE ds_1_headword_backup1 SET stem = concat(substring(stem,1,length(stem)-1), '|i');

示例:SQLFiddle

答案 1 :(得分:1)

这是完整的SQL查询:

UPDATE ds_1_headword_backup1 SET stem = CONCAT(SUBSTRING(stem,1,CHAR_LENGTH(stem) - 1),'| i'),{{1} } ='( - i)'WHERE gram_2_endings LIKE'%i'和stem ='f'和gram_1_word_group ='indecl'

区别在于使用gram_2_endings

答案 2 :(得分:1)

我同意chejnik的意见,但是并没有因为评论他的变体而声名鹊起,所以再创建另一个。

你应该使用CHAR_LENGTH而不是LENGTH,因为CHAR_LENGTH返回符号数,但LENGTH - 字节总和

SQLFiddle

所以,7alhashmi的答案只适用于每个字符有1个字节的字符串。