我正在尝试删除字符串中的字符和数字之间的空格 例如,如果我有“值01”,我想要“Value01”。所以我写了一个函数,但它给了我错误意外),而且我不确定这是否是最有效的方法。我试着搜索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
答案 0 :(得分:4)
你不需要一个功能。只需在查询中使用REPLACE
:
SELECT REPLACE("This is a string", " ", "") FROM dual;
并将返回Thisisastring
。