我想从MYSQL中的一列中的单词中删除最后一个字符,并直接在同一个单词中添加两个新字符。例如,我想将beiðni改为beiðn| i。
这是我的查询=
UPDATE
ds_1_headword_backup1SET
词干= CONCATE((SUBSTRING(
词干,1, ,LENGTH(
词干) - 2), '|i') WHERE
词干LIKE '%i' AND
gram_1_word_group= 'f' AND
gram_2_endings= 'indecl'
答案 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 - 字节总和。
所以,7alhashmi的答案只适用于每个字符有1个字节的字符串。