Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / как проверить содержание поля таблицы ? / 6 сообщений из 6, страница 1 из 1
04.01.2007, 16:20
    #34237114
Perederiy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как проверить содержание поля таблицы ?
есть поле типа char.
Если там только цифры - печатать их. Если нет - печатать звездочки . Это для налоговой накладной.
Как это сделать ?
Как вообще проверить содержание char поля на наличие в нет только цифр ?
Спасибо.
...
Рейтинг: 0 / 0
04.01.2007, 19:19
    #34237386
st_serg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как проверить содержание поля таблицы ?
использовать регулярные выражения
...
Рейтинг: 0 / 0
04.01.2007, 19:27
    #34237401
st_serg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как проверить содержание поля таблицы ?
как вариант, что нить вроде этого
Код: plaintext
select case when translate('123123', '1234567890', '') = '' then 'num' else '***' end;
...
Рейтинг: 0 / 0
04.01.2007, 23:11
    #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
05.01.2007, 02:13
    #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
05.01.2007, 10:34
    #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
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / как проверить содержание поля таблицы ? / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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