我正在尝试删除字符串中字符和数字之间的空格例如,如果我有“Value 01”,我想要返回“Value01”。所以我写了一个函数,但它给了我错误 Unexpected ),而且我不确定这是否是最有效的方法。我尝试搜索 Regex Replace 但找不到任何此类内容
CREATE DEFINER=`root`@`localhost` FUNCTION `RemoveSpaces`(
myWord VARCHAR(1000)
) RETURNS VARCHAR(1000)
BEGIN
DECLARE RETURNSTRING VARCHAR(1000);
SET RETURNSTRING = (
SELECT
LEAST (
if (Locate('0',myWord) >0,
REPLACE(myWord, ' 0', '0'),
if (Locate('1',myWord) >0,
REPLACE(myWord, ' 1', '1'),
if (Locate('2',myWord) >0,
REPLACE(myWord, ' 2', '2'),
if (Locate('3',myWord) >0,
REPLACE(myWord, ' 3', '3'),
if (Locate('4',myWord) >0,
REPLACE(myWord, ' 4', '4'),
if (Locate('5',myWord) >0,
REPLACE(myWord, ' 5', '5'),
if (Locate('6',myWord) >0,
REPLACE(myWord, ' 6', '6'),
if (Locate('7',myWord) >0,
REPLACE(myWord, ' 7', '7'),
if (Locate('8',myWord) >0,
REPLACE(myWord, ' 8', '8'),
if (Locate('9',myWord) >0,
REPLACE(myWord, ' 9', '9')
)
)
);
RETURN RETURNSTRING;
END
Run Code Online (Sandbox Code Playgroud)
你不需要为此的函数。只需在您的查询中使用REPLACE:
SELECT REPLACE("This is a string", " ", "") FROM dual;
Run Code Online (Sandbox Code Playgroud)
并将返回Thisisastring。