За да замените нефиксиран низ, трябва да използвате разделителите на низа, който искате да замените. В следващия пример разделителите са START и КРАЙ , така че трябва да ги замените с тези, които търсите. Включих и двете опции:със и без подменени разделители.
Примерни данни, предполагащи таблица t с колона col :
Това е заявката, която създава предишния изход от col колона. Разбира се, използвайте само частта от заявката, която ви е необходима (със или без заменени разделители).
SELECT col, INSERT(col, LOCATE(@start, col), LOCATE(@end, col) + CHAR_LENGTH(@end) - LOCATE(@start, col), '') with_delimiters_replaced, INSERT( col, LOCATE(@start, col) + CHAR_LENGTH(@start), LOCATE(@end, col) - LOCATE(@start, col) - CHAR_LENGTH(@start), '') без_delimiters_replacedFROM t, (SELECT @start :='START', @end :='END') init
Това ще работи при условие и двете START и КРАЙ низовете присъстват във входния текст.
За да актуализирате реално данните, използвайте UPDATE команда (използвайки версията на заявката, от която всъщност се нуждаете, в този случай тази със заменени разделители):
АКТУАЛИЗИРАНЕ t, (SELECT @start :='НАЧАЛО', @end :='КРАЙ') initSET col =INSERT(col, LOCATE(@start, col), LOCATE(@end, col) + CHAR_LENGTH(@end) - LOCATE(@start, col), '')
Във вашия конкретен случай заменете START с: