Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Проверка на маску / 3 сообщений из 3, страница 1 из 1
23.08.2016, 10:52:50
    #39296041
Dimmf28
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка на маску
Идея такая есть поле строковое туда вводят номер телефона или не вводить (если ввел то он должен содержать 9 цифр),если нет то ошибка, пытаюсь сделать через регулярки но я не могу понять как добавить пустую строку или null значение в положительный ответ,можете помочь

пробывал так

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
create table check_list(id varchar2(25)) 

insert into check_list
(select '124' from dual union all
select '111222333' from dual union all
select '55555' from dual union all
select 'adawdawd' from dual union all
select null from dual union all
select '     ' from dual union all
select '13.adww' from dual)


Код: plsql
1.
select length(id),id,case when REGEXP_LIKE(id, '^[[:digit:]]{9}|null+$') then 'Numeric' else 'Non-Numeric' end from check_list
...
Рейтинг: 0 / 0
23.08.2016, 10:56:47
    #39296048
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка на маску
Dimmf28но я не могу понять как добавить пустую строку или null значение в положительный ответ,можете помочьRTFM Nulls with Comparison Conditions (FAQ)
...
Рейтинг: 0 / 0
23.08.2016, 23:59:36
    #39296709
SY
SY
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка на маску
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
SQL> select  length(id),
  2          id,
  3          case
  4            when id is null then 'YAY'
  5            when REGEXP_LIKE(id,'^\d{9}$') then 'YAY'
  6            else 'NAY'
  7          end is_valid
  8    from  check_list
  9  /

LENGTH(ID) ID                        IS_
---------- ------------------------- ---
         3 124                       NAY
         9 111222333                 YAY
         5 55555                     NAY
         8 adawdawd                  NAY
                                     YAY
         5                           NAY
         7 13.adww                   NAY

7 rows selected.

SQL> select  length(id),
  2          id,
  3          case
  4            when REGEXP_REPLACE(id,'^\d{9}') is null then 'YAY'
  5            else 'NAY'
  6          end is_valid
  7    from  check_list
  8  /

LENGTH(ID) ID                        IS_
---------- ------------------------- ---
         3 124                       NAY
         9 111222333                 YAY
         5 55555                     NAY
         8 adawdawd                  NAY
                                     YAY
         5                           NAY
         7 13.adww                   NAY

7 rows selected.

SQL> select  length(id),
  2          id,
  3          case
  4            when REGEXP_LIKE(id || 'X','^(\d{9})?X$') then 'YAY'
  5            else 'NAY'
  6          end is_valid
  7    from  check_list
  8  /

LENGTH(ID) ID                        IS_
---------- ------------------------- ---
         3 124                       NAY
         9 111222333                 YAY
         5 55555                     NAY
         8 adawdawd                  NAY
                                     YAY
         5                           NAY
         7 13.adww                   NAY

7 rows selected.

SQL>



SY.
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Проверка на маску / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]