powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как проверить что строка состоит только из цисел и запятых?
8 сообщений из 8, страница 1 из 1
Как проверить что строка состоит только из цисел и запятых?
    #40054026
lr2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
lr2
Гость
Добрый день.

Нужно сделать ограничение чтобы в поле записывались только числа и запятые, например:
1
2
1,2
1,2,3

и тп

недопустимы

один
два
один и два
и т.п.




как запятую вставить проверку - все просто:

Код: sql
1.
CREATE TABLE test(f1 text CHECK(f1 LIKE '%,%') );







Но как проверить на запятую и то что каждый символ строки - число, а пока не придумал.

Помогите пожалуйста в этом.
...
Рейтинг: 0 / 0
Как проверить что строка состоит только из цисел и запятых?
    #40054031
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lr2,

для начала ответь те на вопрос допустимы ли строки вида

Код: plaintext
1.
2.
3.
4.
5.
,,,
,,2
2,,
1,,2
2,
,1

и тд и тп?

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
Как проверить что строка состоит только из цисел и запятых?
    #40054035
lr2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
lr2
Гость
Maxim Boguk
lr2,

для начала ответь те на вопрос допустимы ли строки вида

Код: plaintext
1.
2.
3.
4.
5.
,,,
,,2
2,,
1,,2
2,
,1

и тд и тп?

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru


допустимы.
...
Рейтинг: 0 / 0
Как проверить что строка состоит только из цисел и запятых?
    #40054049
Alexander A. Sak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Регулярное выражение. Типа такого:
Код: plsql
1.
CHECK(f1 ~ '^[0-9,]+$')



ЗЫ. Чукча не проверятель.
...
Рейтинг: 0 / 0
Как проверить что строка состоит только из цисел и запятых?
    #40054055
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
CREATE TABLE test(f1 text CHECK(string_to_array(f1,',')::bigint[] is not null) );



ну и подумать над вопросом не хранить ли именно массив.
...
Рейтинг: 0 / 0
Как проверить что строка состоит только из цисел и запятых?
    #40054056
lr2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
lr2
Гость
Alexander A. Sak
Регулярное выражение. Типа такого:
Код: plsql
1.
CHECK(f1 ~ '^[0-9,]+$')



ЗЫ. Чукча не проверятель.



спасибо !
...
Рейтинг: 0 / 0
Как проверить что строка состоит только из цисел и запятых?
    #40054058
lr2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
lr2
Гость
Melkij
Код: sql
1.
CREATE TABLE test(f1 text CHECK(string_to_array(f1,',')::bigint[] is not null) );



ну и подумать над вопросом не хранить ли именно массив.


Ого, так даже круче!

Он ведь проверит еще формируется ли из этого массив.


Большое спасибо!
...
Рейтинг: 0 / 0
Как проверить что строка состоит только из цисел и запятых?
    #40054064
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lr2
Melkij
Код: sql
1.
CREATE TABLE test(f1 text CHECK(string_to_array(f1,',')::bigint[] is not null) );



ну и подумать над вопросом не хранить ли именно массив.


Ого, так даже круче!

Он ведь проверит еще формируется ли из этого массив.


Большое спасибо!


Вы уж как то решите
или автордопустимы.
или авторОн ведь проверит еще формируется ли из этого массив.

Так как это взаимно противоречивые требования.


--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как проверить что строка состоит только из цисел и запятых?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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