За да замените нефиксиран низ, трябва да използвате разделителите на низа, който искате да замените. В следващия пример разделителите са 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
с: