powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / как проверить содержание поля таблицы ?
6 сообщений из 6, страница 1 из 1
как проверить содержание поля таблицы ?
    #34237114
Perederiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
есть поле типа char.
Если там только цифры - печатать их. Если нет - печатать звездочки . Это для налоговой накладной.
Как это сделать ?
Как вообще проверить содержание char поля на наличие в нет только цифр ?
Спасибо.
...
Рейтинг: 0 / 0
как проверить содержание поля таблицы ?
    #34237386
st_serg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
использовать регулярные выражения
...
Рейтинг: 0 / 0
как проверить содержание поля таблицы ?
    #34237401
st_serg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как вариант, что нить вроде этого
Код: plaintext
select case when translate('123123', '1234567890', '') = '' then 'num' else '***' end;
...
Рейтинг: 0 / 0
как проверить содержание поля таблицы ?
    #34237641
Perederiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
уточняю - работает так
select case when inn is null or rtrim(ltrim(inn))='' then '***' when translate(rtrim(ltrim(inn)),'1234567890', '') = '' then inn else '***' end from contragent

PS Спасибо за ответ
...
Рейтинг: 0 / 0
как проверить содержание поля таблицы ?
    #34237766
Jelis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Perederiyуточняю - работает так
select case when inn is null or rtrim(ltrim(inn))='' then '***' when translate(rtrim(ltrim(inn)),'1234567890', '') = '' then inn else '***' end from contragent

PS Спасибо за ответ

С регулярнами выражениями всетаки, помоемму, красивее (понятнее) и короче получаеться
Код: plaintext
1.
SELECT CASE WHEN inn ~ '^[0-9]+$' THEN inn ELSE '***' END FROM contragent;
...
Рейтинг: 0 / 0
как проверить содержание поля таблицы ?
    #34237937
st_serg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Perederiyуточняю - работает так
select case when inn is null or rtrim(ltrim(inn))='' then '***' when translate(rtrim(ltrim(inn)),'1234567890', '') = '' then inn else '***' end from contragent

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


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