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' UPDATE 列。
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' UPDATE 列。
使用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'
您的 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';