Случайная дата со временем в оракуле - PullRequest
0 голосов
/ 02 февраля 2019

Возможно, это глупый вопрос, но я ничего не нашел по этой теме.

Как получить случайную дату с ассоциированным случайным временем в Oracle?Я имею в виду, мне нужно что-то вроде 20/02/2016 18:26:30, но генерируется случайным образом.Я могу использовать тип даты в оракуле или мне нужен другой тип?

Спасибо

РЕДАКТИРОВАТЬ: Мне нужно получить случайную дату и время в определенный интервал.Как я могу сделать что-то подобное?

Ответы [ 2 ]

0 голосов
/ 02 февраля 2019

Хотелось бы что-нибудь подобное сделать?

SQL> alter session set nls_date_format = 'dd.mm.yyyy hh24:mi:ss';

Session altered.

SQL> with test as
  2    (select date '2019-01-01' min_date,
  3            date '2019-01-31' max_date
  4     from dual
  5    )
  6  select min_date + dbms_random.value(0, level) new_date
  7  from test
  8  connect by level <= max_date - min_date;

NEW_DATE
-------------------
01.01.2019 09:12:46
02.01.2019 23:00:44
03.01.2019 06:53:47
03.01.2019 13:50:17
05.01.2019 05:13:33
02.01.2019 08:37:47
01.01.2019 12:07:08
08.01.2019 18:27:01
06.01.2019 18:45:57
10.01.2019 19:13:49
04.01.2019 15:22:32
02.01.2019 05:55:54
11.01.2019 20:17:50
10.01.2019 19:32:37
07.01.2019 21:54:26
06.01.2019 15:34:37
01.01.2019 20:47:33
02.01.2019 20:19:10
11.01.2019 02:00:46
07.01.2019 16:28:19
15.01.2019 11:47:29
06.01.2019 08:10:32
16.01.2019 01:00:22
14.01.2019 07:59:01
12.01.2019 10:03:16
21.01.2019 23:45:16
10.01.2019 02:34:24
17.01.2019 01:20:22
24.01.2019 07:39:40
16.01.2019 00:27:00

30 rows selected.

SQL>
0 голосов
/ 02 февраля 2019

Учитывая, что пакет DBMS_RANDOM может быть полезен

select sysdate + DBMS_RANDOM.value(0,86400)/86400 * 7 from dual

для предстоящей недели в качестве примера.

Или преобразовать 7 в 30 для предстоящего периода в один месяц.

Демо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...