Благодаря интерфейсу с банком мне нужно разобраться некоторые нежелательные символы из поля имени:регулярное выражение Oracle сортировки специальных символов и чешских символов
Это допустимый диапазон: 0 - 9, а - z, A - Z,/-?(). , '+ (пробел) - но не допустили чешских символов
Я пробовал что-то подобное, получая нежелательные удары на несколько периодов. и пробелы, но не попадающие на него 100%:
SELECT CASE
WHEN REGEXP_LIKE (name,
'^([0-9a-zA-Z]* *+(|_|\-|\.))')
THEN
'true'
ELSE
'false'
END AS tmp, avt.*
FROM amcbankvendtable avt
Кроме того, я все еще не имел удаленных чешских символов. Я знаю, что класс параметров параметров ==a==
дает ä
, но в этом случае я хочу обратное, не разрешать ûü
, но только u
. (В основном разрешить только английский альпабет).
Итак:
123456abc нормально
123û не в порядке
123 # & не в порядке (# & не допускаются символы)
Есть идеи?
ложные \t InteleSMS AS ложной \t Protego AS истинной \t MORAVIAPRESS А.С. true \t AB Объект a.s. приближается. WHEN REGEXP_LIKE (имя, '[^ 0-9a-zA-Z /?().,+-]') почему становится истинным в двух последних случаях, из-за двух периодов:. – Trond
@Trond - потому что Qtax забыл добавить символ пробела внутри скобок. –
Да, пространство делает трюк, спасибо. – Trond