Mysql'split'和'replace'函数/过程

时间:2017-11-22 20:02:22

标签: mysql sql

也许是一个愚蠢的问题,但据我所知,MySQL的函数无法返回如下所述的表格:How to return the table using mysql Function

所以我的问题是如何创建一个用分隔符(比如说空格')分割字符串的函数,然后在每个创建的单个标记中替换一些字符?如果这是不可能的,而是需要一个过程,那么一个过程可以作为函数调用吗?

让我们试着解释一下我需要做什么:

从字符串“MANGA 23”开始我需要将转换应用于第一个令牌(MANGA),将另一个转换应用于第二个令牌(23),例如:

"MANGA 23" --> "MAN 43"

SPLIT (MANGA, ' '); -- split the string 'MANGA' using the delimiter space
REPLACE ('GA','',token1); -- replace from token1 'GA' with empty string
REPLACE ('2','4',token2); -- replace from token2 '2' with '4' 

我需要对特定标记使用replace函数,因为替换不能应用于整个字符串,因为它可以在某些情况下更改最终结果。

有没有办法(使用MySQL)创建这个函数/过程并在SQL语句中使用它们,比如?

select * from mytable where TRANSFORM(column1)='MAN 34'

(其中'TRASFORM'是一个使用上面定义的逻辑的函数)

或者没有办法,最好将该逻辑从DB移到应用程序中?

0 个答案:

没有答案