belyy_shum
@belyy_shum

Как сформировать произвольные строки данных при выполнении запроса?

Формирование произвольных строк данных при выполнении запроса
  • Вопрос задан
  • 90 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Student18ru
Насколько я знаю, базы данных никаких произвольных строковых данных не генерируют. Эти данные генерируются на стороне сервера. Можешь использовать метку времени, а потом хешировать еë. Таким образом в зависимости от того каким алгоритмом ты всё это будешь хешировать, у тебя будет выходить уникальная строка, определённой длины.
Ответ написан
Комментировать
@galaxy
Не знаю, что именно вам нужно. Следующая функция возвращает произвольную строку длины len из символов алфавита chars:
create or replace function rand_str(len int, chars text default '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz') returns text language sql as $$
  SELECT string_agg (substr(chars, ceil (random() * length(chars))::integer, 1), '')
  FROM generate_series(1, len)
$$;


postgres=# select rand_str(10);
  rand_str
------------
 wmIn59AeiS
(1 row)

postgres=# select rand_str(50, 'абвгдежзиклмнопрстуфхцчшщъыьэюя');
                      rand_str
----------------------------------------------------
 дломчяочэатьщсдмллянблнцммюгььжзетшбзвшлежлэщдечют
(1 row)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы