可以用一个新的用户定义功能复制CHARINDEX。 (使用instr)

mysql版本。如果可以保持功能不变,我的迁移将变得更加顺利。

IF(CHARINDEX('(G)',v_username) = 0) THEN

最佳答案

是的,可以这样做。一种方法是创建一个包装CharIndex的user-defined function

-- CHARINDEX wrapper.
CREATE FUNCTION INSTR
    (
        @Source     NVARCHAR(255),      -- Search this..
        @Find       NVARCHAR(255)       -- ...for this.
    )
RETURNS NVARCHAR(255)
AS
BEGIN
    RETURN CHARINDEX(@Find, @Source)
END


这种方法的缺点是,UDF在性能方面无法与本机功能竞争。

您可以通过查看common language runtime来减少影响。 CLR允许您编写可编译为本机代码的函数,SP等。

所有的情况都被考虑到了;我建议您改为更新代码。尽管迁移可能很长且很痛苦,但迁移是一项一次性的任务。

关于mysql - 在mysql中使用新的用户定义函数复制CHARINDEX,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40840790/

10-09 09:28