powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Проверка на маску
3 сообщений из 3, страница 1 из 1
Проверка на маску
    #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
Проверка на маску
    #39296048
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimmf28но я не могу понять как добавить пустую строку или null значение в положительный ответ,можете помочьRTFM Nulls with Comparison Conditions (FAQ)
...
Рейтинг: 0 / 0
Проверка на маску
    #39296709
Фотография 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
3 сообщений из 3, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Проверка на маску
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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