Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Длина строки возвращаемой функцией / 5 сообщений из 5, страница 1 из 1
09.10.2014, 10:41:48
    #38771316
Длина строки возвращаемой функцией
Здравствуйте есть у меня следующая функция:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
CREATE OR REPLACE FUNCTION schemefood.fc_close_day(IN x integer)
  RETURNS TABLE(id_class integer, class_name CHAR(75), id_uch integer, dates date, id integer) AS
  $BODY$
  WITH d(dt) AS (
     VALUES((SELECT MIN(date) FROM schemefood.close_day WHERE id_uch = x)),((SELECT MAX(date) FROM schemefood.close_day WHERE id_uch = x)),(CURRENT_DATE)
  )
SELECT * FROM (SELECT rdc.*, close_day.id 
FROM (SELECT class.id as id_class, CAST(class.name AS CHAR(75)) as class_name, class.id_uch, dates
  FROM (SELECT (SELECT min(dt) FROM d) + i as dates
        FROM generate_series(0, (SELECT max(dt)-min(dt) FROM d))i) as rdate,
  schemefood.class WHERE id_uch = x) as rdc LEFT OUTER JOIN schemefood.close_day
  ON rdc.id_class = close_day.id_class AND rdc.dates = close_day.date
) as fff;
$BODY$
  LANGUAGE sql



Я пытаюсь ограничить количество символов в поле class_name но ничего не выходит, после создания функции поле неопределенной длинны, а мне очень нужно его ограничить, кто нибудь сталкивался с таким?
...
Рейтинг: 0 / 0
09.10.2014, 14:52:46
    #38771805
Ы
Ы
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Длина строки возвращаемой функцией
баракнеобама,

Решите сначала, что делать с тем, что не влезает в 75 символов. Если можно просто отбросить, пишите left(class_name, 75).
...
Рейтинг: 0 / 0
09.10.2014, 15:01:45
    #38771822
Длина строки возвращаемой функцией
Ы, они в любом случае влезут, в таблице из которой делается селект это поле как раз таки 75 символов.
...
Рейтинг: 0 / 0
10.10.2014, 15:07:07
    #38773261
Длина строки возвращаемой функцией
Никто не знает?
...
Рейтинг: 0 / 0
10.10.2014, 15:53:33
    #38773367
Длина строки возвращаемой функцией
Вообщем разобрался сам методом тыка, ограничить можно только делая селект уже самой функции типа того:
Код: plsql
1.
SELECT id_class, CAST(class_name AS CHAR(75)), id_uch, dates, id from schemefood.fc_close_day(15);
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Длина строки возвращаемой функцией / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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