宣言
INSERT (str1,pos,len,str2)
説明
文字列 str1 を返します。文字列の pos 位置から始まり、長さが len の部分文字列は str2 に置き換えられます。pos が文字列の長さを超える場合、返される値は元の文字列です。len の長さが他の文字列よりも長い場合、pos 位置から置き換えが始まります。いずれかのパラメータが NULL の場合、返される値は NULL です。この関数はマルチバイト文字をサポートしています。
str1とstr2は文字列でなければならず、posとlenは整数でなければなりません。いずれかのパラメータがNULLの場合、結果は常にNULLです。str1とstr2内の漢字はバイトストリームとして扱われます。posの値が負の数またはstr1の長さを超える場合、str1が返されます。lenが 0 より小さい、またはstr1の長さを超える場合、結果はstr1の先頭からpos位置までの文字列とstr2の連結文字列です。
例
obclient> SELECT INSERT('Quadratic',-2,100,'What'), INSERT('Quadratic',7,3,'What'),
INSERT('Quadratic',-1,3,'What'), INSERT('Quadratic',10,3,'What'), INSERT('Quadratic',5,-1,''),
INSERT('Quadratic',7,-1,'What')\G
*************************** 1. row ***************************
INSERT('Quadratic',-2,100,'What'): Quadratic
INSERT('Quadratic',7,3,'What'): QuadraWhat
INSERT('Quadratic',-1,3,'What'): Quadratic
INSERT('Quadratic',10,3,'What'): Quadratic
INSERT('Quadratic',5,-1,''): Quad
INSERT('Quadratic',7,-1,'What'): QuadraWhat
1 row in set