2015-08-18 5 views
2

я должен прочитать столбец строки и загрузить значение в столбце Номер на основе строки:регулярных выражений запросов

«S12345» - 12345 (Удалить 1-й алфавит и загрузите остальные цифры)

' 12345' - 12345 (Load номер непосредственно)

'12345T' - NULL (Load NULL, если последний символ алфавита)

'1A2B3C45' или 'SQ12345' - NULL (Load NULL, если есть более 1 алфавиты в строке)

Я пытаюсь разработать запрос, используя CASE и REGEXP_LIKE, без везения. Может кто-то, пожалуйста, помогите мне с запросом на конкретное требование. Заранее спасибо..!!

+2

Пожалуйста, покажите, что вы пробовали. Мы не здесь, чтобы сделать вашу работу за вас, но мы поможем вам исправить ваш нерабочий код. – Barmar

+2

Что бы вернуть «1A2» (AKA число с одной буквой в строке, но не в начале)? – Sam

ответ

2

Я думаю, что вы ищете это:

^[A-Za-z]?(\d+)$ 

Here пример с некоторыми Testdata, вы можете добавить свои собственные строки данных, чтобы проверить его.

+2

Примечание: '[A-z]! = [A-Za-z]' – Sam

+0

Упс, отредактированный. Спасибо что подметил это. – Patrick2607

+0

Просто любопытно, но если ваш интерпретатор regexp поддерживает \ d, он также поддерживает \ w вместо [A-Za-z], так почему бы не '^ [\ w]? (\ D +) $'? –

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