REPLACE 是一个字符串处理函数,它处理所有字符串数据类型(BIT、BLOB 和 CHARACTER),并将字符串的某些部分替换为提供的子字符串。
REPLACE 返回由源字符串(只要出现搜索字符串就由替换字符串替换)组成的字符串。这些参数字符串可以是 CHARACTER、BLOB 或 BIT 数据类型,但这三个必须全部属于同一种类型。
只要有一个参数是 NULL,结果便为 NULL。
REPLACE('ABCDABCDABCDA', 'A', 'AA') -- RESULT = AABCDAABCDAABCDAA REPLACE('AAAABCDEFGHAAAABCDEFGH', 'AA', 'XYZ') -- RESULT = XYZXYZBCDEFGHXYZXYZBCDEFGH REPLACE('AAAAABCDEFGHAAAABCDEFGH', 'AA', 'XYZ') -- RESULT = XYZXYZABCDEFGHXYZXYZBCDEFGH
第一个示例显示替换是单向传递。出现的每个 A 都被 AA 替换,但不再进一步扩展它们。
第二个示例显示不再考虑已匹配的字符。匹配、替换并忽略第一个 AA 对。不匹配第二和第三个 A。
第三个示例显示匹配从左边开始。前 4 个 A 作为两对进行匹配和替换。不匹配第 5 个 A。
如果未指定替换字符串表达式,则替换字符串缺省为一个空字符串,因此该函数将从结果中删除出现的所有搜索字符串。