Mysql
 sql >> база данни >  >> RDS >> Mysql

Намерете и заменете част от текст в поле с помощта на MySQL

За да замените нефиксиран низ, трябва да използвате разделителите на низа, който искате да замените. В следващия пример разделителите са START и КРАЙ , така че трябва да ги замените с тези, които търсите. Включих и двете опции:със и без подменени разделители.

Примерни данни, предполагащи таблица t с колона col :

<предварителен код>| COL | WITH_DELIMITERS_REPLACED | БЕЗ_ДЕЛИМИТЕРИ_ЗАМЕНЕНИ ||--------------------|-------------------------- |-----------------------------------|| abSTARTxxxxxxxxEND | ab | abSTARTEND || abcSTARTxxxxxENDd | abcd | abcSTARTENDd || abcdSTARTxxENDef | abcdef | abcdSTARTENDef || abcdeSTARTxENDfgh | abcdefgh | abcdeSTARTENDfgh || abcdefSTARTENDghij | abcdefghij | abcdefSTARTENDghij |

Това е заявката, която създава предишния изход от 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 с:

  


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ASCII() Примери – MySQL

  2. намерете причините за блокиране на mysql

  3. Форматиране на командния ред на MySQL с UTF8

  4. Различни начини за попълване на потребителите на MySQL

  5. Получаване на HTML отговор вместо JSON в android