Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Помогите побороть interval !!! / 6 сообщений из 6, страница 1 из 1
24.02.2005, 16:32
    #32931737
greeka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите побороть interval !!!
Доьрого времени суток!

Есть такая функция:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
CREATE OR REPLACE FUNCTION "public"."update_new" () RETURNS boolean AS'
declare
   merchant_id record;
   period_value varchar;
   rate_value varchar;
   value_ char(10);
   ttt timestamp;
begin

SELECT value
INTO period_value
FROM configconst
WHERE name=''TRANSACTION_SEARCH_NUM_PERIOD'';

SELECT value
INTO rate_value
FROM configconst
WHERE name=''TRANSACTION_SEARCH_NUM_RATE'';

UPDATE merchantstat SET transaction = 0;
FOR merchant_id IN SELECT merchant_ FROM transactionext WHERE isactive AND show AND not notadultcontent AND is_makemytransactionspublic(member_) AND activationtime > current_timestamp - interval ''10 day'' LOOP
    UPDATE merchantstat SET transaction = transaction + 1 WHERE merchant_=merchant_id.merchant_::bigint;
END LOOP;

RETURN true;
end;
'LANGUAGE 'plpgsql' IMMUTABLE RETURNS NULL ON NULL INPUT SECURITY INVOKER;

и тут есть:
Код: plaintext
interval ''10 day''
Подскажите плиз, кто знает, как мне в качетсве параметра передавать в interval другое значение?
В качестве значений нужно подставлять данные из period_value и rate_value соответственно.
...
Рейтинг: 0 / 0
24.02.2005, 18:42
    #32932096
wbear
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите побороть interval !!!
пробовал
select ( period_value || ' month')::interval;
???
...
Рейтинг: 0 / 0
24.02.2005, 20:19
    #32932209
greeka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите побороть interval !!!
wbearпробовал
select ( period_value || ' month')::interval;
???

Ну и что? Он выдает (к примеру) '10 month', а мне нужно получить значение а не строки сложить. Это раз, а во вторых ... current_timestamp - interval select(rate_value || 'month')::interval ... ошибка!
Или я может что-то напутал?
...
Рейтинг: 0 / 0
25.02.2005, 10:28
    #32932703
wbear
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите побороть interval !!!
Q. Подскажите плиз, кто знает, как мне в качетсве параметра передавать в interval другое значение?
A. .... current_timestamp-(other_value || ' month')::interval ....
при этом other_value int либо varchar с содержимым типа число..

Q.Ну и что? Он выдает (к примеру) '10 month', а мне нужно получить значение а не строки сложить.
A. пригледись тип у этого самого '10 month' это интервал, а не строка. это и есть значение типа интервал

или какое ты хочешь значение получить?

Q.
select(rate_value || 'month')::interval... ошибка!
A.видимо пробел перед month забыл
select (rate_value || ' month')::interval from my_table



P.s. PG умеет строки превращать в тип Interval простым преоброзованием ::interval
, но строка при этом должна быть соответственно отформатированна
_ЧИСЛО_ПРОБЕЛ_ОПРЕДЕЛИТЕЬ
где _ОПРЕДЕЛИТЕЬ in (year,month,day,sec ..etc) подребности в доках
...
Рейтинг: 0 / 0
02.03.2005, 11:20
    #32940534
Гыук
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите побороть interval !!!
На 7.4 оба запроса работают

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
SELECT CURRENT_DATE - ( '10' || ' month')::interval


SELECT
	CURRENT_DATE - ( Field || ' month')::interval
FROM 
	tbTable 
...
Рейтинг: 0 / 0
17.03.2005, 12:50
    #32965645
greeka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите побороть interval !!!
Спасибо, разобрался.
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Помогите побороть interval !!! / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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