Гость
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Модифицировать свойство поля типа text / 6 сообщений из 6, страница 1 из 1
05.09.2018, 16:20
    #39698621
Minuteman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модифицировать свойство поля типа text
Добрый день,

Есть в таблице clinets поле email типа text.

Необходимо на уровне sql (свойств субд) сделать, чтобы каждая запись в это поле сохранялась в нижнем регистре.

И вообще возможно ли это?

Благодарю за советы.
...
Рейтинг: 0 / 0
05.09.2018, 16:37
    #39698634
Maxim Boguk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модифицировать свойство поля типа text
MinutemanДобрый день,

Есть в таблице clinets поле email типа text.

Необходимо на уровне sql (свойств субд) сделать, чтобы каждая запись в это поле сохранялась в нижнем регистре.

И вообще возможно ли это?

Благодарю за советы.

before insert триггер с lower() внутри.

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
05.09.2018, 16:59
    #39698645
256k
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модифицировать свойство поля типа text
[quot Maxim Boguk]MinutemanДобрый день,

Есть в таблице clinets поле email типа text.

Необходимо на уровне sql (свойств субд) сделать, чтобы каждая запись в это поле сохранялась в нижнем регистре.

И вообще возможно ли это?

Благодарю за советы.

before insert триггер с lower() внутри.

--

Кстати, что скажете по поводу вариантов:

1) ALTER TABLE your_table
ADD CONSTRAINT your_table_the_column_lowercase_ck
CHECK (the_column = lower(the_column));

2) citext

?
...
Рейтинг: 0 / 0
05.09.2018, 17:47
    #39698665
Maxim Boguk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модифицировать свойство поля типа text
[quot 256k]Maxim Bogukпропущено...


before insert триггер с lower() внутри.

--

Кстати, что скажете по поводу вариантов:

1) ALTER TABLE your_table
ADD CONSTRAINT your_table_the_column_lowercase_ck
CHECK (the_column = lower(the_column));

2) citext

?

1)а причем тут вообще check? он будет проверять что оно на входе в lowercase а не " каждая запись в это поле сохранялась в нижнем регистре "

2)он не для этого придуман и нарушает исходную задачу "Есть в таблице clinets поле email типа text. "

Невнимательно читаете постановку задачи.

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
10.09.2018, 13:26
    #39700393
DSKalugin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модифицировать свойство поля типа text
Minuteman, для новых строк - триггером, как писал Максим, а для старых изменить регистр нужно запросом:
Код: plsql
1.
UPDATE clinets set email = lower(email)
...
Рейтинг: 0 / 0
10.09.2018, 15:10
    #39700451
Morruth
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модифицировать свойство поля типа text
https://www.postgresql.org/docs/9.1/static/citext.html - кажется, это именно то, что вам нужно
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Модифицировать свойство поля типа text / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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