宣言
INSERT (str1,pos,len,str2)
説明
文字列 str1 を返します。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