powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / подсчёт недель
15 сообщений из 15, страница 1 из 1
подсчёт недель
    #35577739
valuez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
всем привет...
Такой вопрос, как програмно по дате узнать номер недели года, например (2008.01.03 это 1 неделя года 2008.01.08 это 2 и т.д.)
...
Рейтинг: 0 / 0
подсчёт недель
    #35577775
Код: plaintext
to_char(dt, 'w')
???
...
Рейтинг: 0 / 0
подсчёт недель
    #35577797
Добрый Э - Эх
Код: plaintext
to_char(dt, 'w')
???Это, если что, неделя внутри месяца.
Если нужна неделя внутри года, то
Код: plaintext
to_char(dt, 'WW')
Если нужно ISO-разбиения года на недели, то
Код: plaintext
to_char(dt, 'IW')

А вообще, RTFM
...
Рейтинг: 0 / 0
подсчёт недель
    #35577803
valuez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
немного не правелен вопрос :
есть таблица где человек резервирует вещь
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
create table orders (
id int default nextval('orders_seq') primary key,
order_name varchar( 64 ),
cust_id int not null references users(id),
is_confirmed boolean null,
creation_moment timestamp not null default now(),
confirm_moment timestamp not null default now()
);
и таблица номеров недели
Код: plaintext
1.
2.
3.
4.
create table weeks (
id t_week_id primary key,
first_day date not null,
last_day date not null
);

и вот по creation_moment и first_day, last_day надо узнать номер недели в году
...
Рейтинг: 0 / 0
подсчёт недель
    #35577813
valuez и вот по creation_moment и first_day, last_day надо узнать номер недели в годуИ какие сложности?
...
Рейтинг: 0 / 0
подсчёт недель
    #35577822
valuez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я пробую это сделать по доке
Код: plaintext
select extract (week from timestamp (orders.last_day))

ошибка
ERROR: syntax error at or near "orders"
LINE 118: select extract (week from timestamp (orders.last_day))
...
Рейтинг: 0 / 0
подсчёт недель
    #35577851
valuezя пробую это сделать по доке
Код: plaintext
select extract (week from timestamp (orders.last_day))

ошибка
ERROR: syntax error at or near "orders"
LINE 118: select extract (week from timestamp (orders.last_day))И чё, в доке прям так и написано как ты делаешь?
Мне вот кажется, что там должно быть что-то вроде такого:
Код: plaintext
select extract (week from orders.last_day)
...
Рейтинг: 0 / 0
подсчёт недель
    #35578023
valuez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
последний вариант тоже не подходит я пробую создать функцию
Код: plaintext
1.
2.
3.
4.
create or replace function sp_timestring (in p_date_to_cover varchar ( 50 ))
returns text
as $$
select to_char (timestamp , text)
$$ language sql;

и вот вместо timestamp надо подставить значение которое будеи запрашиваться из таблицы например creation_moment timestamp not null default now()
...
Рейтинг: 0 / 0
подсчёт недель
    #35578051
valuezпоследний вариант тоже не подходит я пробую создать функцию
Код: plaintext
1.
2.
3.
4.
create or replace function sp_timestring (in p_date_to_cover varchar ( 50 ))
returns text
as $$
select to_char (timestamp , text)
$$ language sql;

и вот вместо timestamp надо подставить значение которое будеи запрашиваться из таблицы например creation_moment timestamp not null default now()Ты чё, прямо так и написал?

Если что, то вместо timestamp нужно подставлять название твоего поля с датой. Вместо text нужно подставлять форматную маску интересующей тебя части даты.
Если привязаться к твоим полям, то там должно быть примерно следующее:
Код: plaintext
select to_char (orders.last_day, 'WW')...
...
Рейтинг: 0 / 0
подсчёт недель
    #35578186
valuez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
функция работает только вместо orders.last_day надо current_timestamp

Код: plaintext
1.
2.
3.
4.
create or replace function sp_timestring (in p_date_to_cover varchar ( 50 ))
returns text
as $$
select to_char ( current_timestamp,'WW');
$$ language sql;
...
Рейтинг: 0 / 0
подсчёт недель
    #35578290
valuez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
продолжаю дальше :)

Что неправильно тут ?
Код: plaintext
1.
2.
3.
4.
5.
6.
create or replace function sp_timestring (@timetext text)
returns text
as $$
declare @timetext text
select to_char ( current_timestamp,'WW') = @timetext;
select extract (week from timestamp, @timetext);
$$ language sql;

пишет что ошибка при обьявлении переменной @timetext
...
Рейтинг: 0 / 0
подсчёт недель
    #35578366
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в SQL declare создаёт курсор, а не переменную


--
„Истина — это вовсе не то, что можно убедительно доказать, это то, что
делает всё проще и понятнее“ — Антуан де Сент-Экзюпери
...
Рейтинг: 0 / 0
подсчёт недель
    #35578396
valuez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ладно люди помогите (я уже совсем запутался)
мне надо чтобы эта функция выдавала номер недели в году
Код: plaintext
1.
2.
3.
4.
5.
create or replace function sp_timestring (timetext text)
returns  int
as $$ 
select to_char ( current_timestamp,'WW')as timetext;
select extract (week from timestamp [color=yellow]timetext [/color]);
$$ language sql;

в выделенном месте выдаёт
ERROR: syntax error at or near "timetext"
LINE 122: select extract (week from timestamp timetext );

вместо timetext должно быть время конвертированное в текст
to_char ( current_timestamp,'WW')as timetext
...
Рейтинг: 0 / 0
подсчёт недель
    #35578517
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
create or replace function sp_timestring() returns int
as $$ 
  select to_char(current_timestamp, 'WW')::int;
$$ language sql;

select sp_timestring() as week_of_year;
 week_of_year
--------------
            40 
( 1  запись)

--
„Истина — это вовсе не то, что можно убедительно доказать, это то, что
делает всё проще и понятнее“ — Антуан де Сент-Экзюпери
...
Рейтинг: 0 / 0
подсчёт недель
    #35578570
valuez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо люди вы лучшие !!!!!!!!
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / подсчёт недель
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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