MySQL добавить текст в поле - PullRequest
2 голосов
/ 17 ноября 2010

У меня есть таблица статей, и мне нужно добавить год к имени

До

Bicicleta rodado 20", freestyle Mirraco Blend
Bicicleta rodado 20", freestyle Mirraco Blend (azul)
Bicicleta rodado 20", freestyle Mirraco Blend (negro)
Bicicleta rodado 20", freestyle Mirraco Blink
Bicicleta rodado 20", freestyle Mirraco Blink (blanco con azul)
Bicicleta rodado 20", freestyle Mirraco Blink (marron)
Bicicleta rodado 20", freestyle Mirraco N°7
Bicicleta rodado 20", freestyle Mirraco N°7 (negro con blanco)
Bicicleta rodado 20", freestyle Mirraco N°7 (purpura con blanco)

После

Bicicleta rodado 20", freestyle Mirraco Blend 2010
Bicicleta rodado 20", freestyle Mirraco Blend 2010 (azul)
Bicicleta rodado 20", freestyle Mirraco Blend 2010 (negro)
Bicicleta rodado 20", freestyle Mirraco Blink 2010
Bicicleta rodado 20", freestyle Mirraco Blink 2010 (blanco con azul)
Bicicleta rodado 20", freestyle Mirraco Blink 2010 (marron)
Bicicleta rodado 20", freestyle Mirraco N° 7 2010
Bicicleta rodado 20", freestyle Mirraco N° 7 2010 (negro con blanco)
Bicicleta rodado 20", freestyle Mirraco N° 7 2010 (purpura con blanco)

Правило бы добавить год перед скобками. И если нет круглых скобок, добавьте его в конце. Он не может считать слово, потому что счет не всегда одинаков (в данном случае N ° 7)

Ответы [ 2 ]

2 голосов
/ 17 ноября 2010

Это должно получить то, что вы хотите, если вы хотите ввести дату:

SELECT 
  CASE
    WHEN (INSTR( your_field,  '(' ) > 0)
      THEN REPLACE(your_field, '(', '2010 (')
    ELSE CONCAT (your_field, ' 2010')
  END 
FROM your_table;
0 голосов
/ 17 ноября 2010

Попробуйте это:

SELECT
case instr(accountcode,'-') when instr(accountcode,'-') = 0 then 
concat(accountcode, '  2010') else 
concat(left(accountcode,instr(accountcode,'-')-1), concat(' 2010',right(accountcode,instr(accountcode,'-')-2))) 
end 
FROM account a;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...