2011-09-06 2 views
2

Очень простой У меня есть столбец строки вроде этого:MySQL: Как удалить строку из колонки

abc1 
abc2 
abc3 
abc4 
abc5 

Мне нужно удалить «ABC» из этой колонки и сохранить только номер справа, так столбец будет иметь только номер, как:

1 
2 
3 
4 
5 

Я думал о то вроде этого, но он не работает

update table2 
-> set col1 = case when 'abc1' then 1 
-> else end; 

Я знаю, как конкатентный текст, я не знаю, как его отменить ... Помогите пожалуйста ^^;

+3

В этом примере показаны все строки одинаковой длины. Это правда? – McArthey

ответ

3

@McArthey уже намекнул на это, но это легко сделать, когда " abc "постоянно" abc "(т.е. длина не изменяется).

Среди прочих string functions это, в частности: RIGHT(). Это позволяет вам выбрать фиксированное количество символов из строки. например

SELECT RIGHT('abc3',1) -- Results in "3" 
SELECT RIGHT('abc3',2) -- Results in "c3" 

В сочетании с функцией LENGTH(), можно сделать вывод, что цифры ничего мимо 3-го символа. т.е.

SELECT RIGHT('abc3',LENGTH('abc3')-3) -- Results in "3" 

Очевидно, я использую жесткие строки ('abc3'), но они могут быть легко заменены именами столбцов.

Предостережение здесь состоит в том, что все они основаны на фиксированных префиксах длины. Чем больше переменная (изменение) «abc» в вашем примере, тем сложнее выбор числового значения из столбца.

+0

Это была первая ссылка, которую я поставил в своем ответе. ;-) Но спасибо. –

+0

Lol sorry не последовало за ним. Я удалю мой heh – McArthey

+0

abc никогда не изменится, но цифры идут от 1 до 30. – madkitty

1

Если это единичные значения цифр можно использовать

select right(column,1) ... 

Вы также можете найти REGEXP документы полезным, если оно является более сложным.

Если вы пытаетесь изменить столбец, вам придется принимать значения отдельно, а затем объединить их вместе. Трудно дать точный ответ, так как я не знаю, чего вы пытаетесь выполнить, но вы можете сделать что-то с SUBSTR, чтобы захватить отдельные значения.

Get 'а': SUBSTR (колонок, 1,3)

Получить цифры: SUBSTR (колонок 4)

Смежные вопросы