UPDATE company
IF SUBSTRING(company_name, LENGTH(company_name)-3, LENGTH(company_name)) = ' BV'
THEN SET company_name = SUBSTRING(company_name,1,LENGTH(company_name)-3);
END IF;
我收到语法错误,不知道在哪里查看,任何帮助都会受到影响! 我想要做的是如果字符串的结尾看起来像'BV'更新列。
答案 0 :(得分:3)
使用where
子句代替IF
:
UPDATE company
SET company_name = SUBSTRING(company_name,1,LENGTH(company_name)-3)
where SUBSTRING(company_name, LENGTH(company_name)-3, LENGTH(company_name)) = ' BV'
答案 1 :(得分:0)
您的IF语句中存在错误:
IF SUBSTRING(company_name, LENGTH(company_name)-3, LENGTH(company_name)) = ' BV'
应该是
IF SUBSTRING(company_name, LENGTH(company_name)-3, 3) = ' BV'
更简单的方法是使用where子句和类似的比较。
UPDATE company
SET company_name = SUBSTRING(company_name, 1, LENGTH(company_name)-3)
WHERE company_name like '% BV';