powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Перешел на 8.0 и сразу полезло!!!!!!
19 сообщений из 19, страница 1 из 1
Перешел на 8.0 и сразу полезло!!!!!!
    #32880723
AlWizard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На 7.4.6 запрорс прекрасно работал:
dt_time - timestimp.
select * from log where to_date(dt_time,'YYYY-MM')='2005-01'
ERROR: invalid input syntax for type date: "2005-01"

На 8.0 не хочет - в чем причина???????
...
Рейтинг: 0 / 0
Перешел на 8.0 и сразу полезло!!!!!!
    #32881005
AlWizard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
select to_date('2005-01-11','YYYY-MM') почемуто возвращает - 01.01.2005 ?????
...
Рейтинг: 0 / 0
Перешел на 8.0 и сразу полезло!!!!!!
    #32881016
assa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlWizardselect to_date('2005-01-11','YYYY-MM') почемуто возвращает - 01.01.2005 ?????

Код: plaintext
1.
2.
3.
4.
CREATE OR REPLACE FUNCTION pg_catalog.to_date(text, text)
  RETURNS date AS
'to_date'
  LANGUAGE 'internal' IMMUTABLE STRICT;
COMMENT ON FUNCTION pg_catalog.to_date(text, text) IS 'convert text to date';
И чито нам тутта ни ястно?
RETURNS date
(мать мать мать ответтило эхо)
...
Рейтинг: 0 / 0
Перешел на 8.0 и сразу полезло!!!!!!
    #32881034
AlWizard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AlWizardselect to_date('2005-01-11','YYYY-MM') почемуто возвращает - 01.01.2005 ?????

А эта проблема понятна????

Если я не ошибаюсь должно быть не 01.01.2005 а 11.01.2005 !!!!!

Но не хочет.
...
Рейтинг: 0 / 0
Перешел на 8.0 и сразу полезло!!!!!!
    #32881046
Фотография Кувалдин Роман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>> select to_date('2005-01-11','YYYY-MM') почемуто возвращает - 01.01.2005

а ты DD допиши. Или это очепятка в вопросе?
select to_date('2005-01-11','YYYY-MM-DD');
...
Рейтинг: 0 / 0
Перешел на 8.0 и сразу полезло!!!!!!
    #32881062
assa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlWizard AlWizardselect to_date('2005-01-11','YYYY-MM') почемуто возвращает - 01.01.2005 ?????


Если я не ошибаюсь должно быть не 01.01.2005 а 11.01.2005 !!!!!

Но не хочет.
ничего оно не должно. Вы сами задали анализ только 6 символов

тестируем:
Код: plaintext
1.
2.
3.
select to_date('2005-01-хрен тебе по лбу','YYYY-MM')

 2005 - 01 - 01 
...
Рейтинг: 0 / 0
Перешел на 8.0 и сразу полезло!!!!!!
    #32881086
AlWizard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сори за неясности но:

На 7.4.6 запрорс прекрасно работал:
dt_time - timestimp.
select * from log where to_date(dt_time,'YYYY-MM')='2005-01'
ERROR: invalid input syntax for type date: "2005-01"

На 8.0 не хочет - в чем причина???????
...
Рейтинг: 0 / 0
Перешел на 8.0 и сразу полезло!!!!!!
    #32881106
AlWizard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Или же при select * from log where to_date(dt_time,'YYYY-MM')='2005-01-12'

запрос ничего не возвращает ...... хотя данные за это промежуток есть
...
Рейтинг: 0 / 0
Перешел на 8.0 и сразу полезло!!!!!!
    #32881234
Sad Spirit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Объясняю на пальцах: дата задаётся тремя значениями --- числом, месяцем, годом. Если одно из них не задано, то будет подставлено "нечто" по умолчанию, чтобы получилась дата.

Что касается "прекрасно работающего" запроса, то он мне предсказуемо вываливает синтаксическую ошибку как на 7.4.5, так и на 8.0.0beta1 (всё собираюсь переставить...):
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
test=# create table log (dt_time timestamp ( 0 ) with time zone);
CREATE TABLE
test=# insert into log values (now());
INSERT  149664   1 
test=# select * from log where to_date(dt_time, 'YYYY-MM')='2005-01';
ERROR:  invalid input syntax for type date: "2005-01"
test=# select version();
                                                            version             
-------------------------------------------------------------------------------------------------------------------------------
 PostgreSQL  7 . 4 . 5  on i586-alt-linux-gnu, compiled by GCC i586-alt-linux-gcc (GCC)  3 . 3 . 3   20040412  (ALT Linux, build  3 . 3 . 3 -alt5)
( 1  запись)



Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
test=# create table log (dt_time timestamp ( 0 ) with time zone);
CREATE TABLE
test=# insert into log values (now());
INSERT  20754   1 
test=#  select * from log where to_date(dt_time, 'YYYY-MM')='2005-01';
ERROR:  invalid input syntax for type date: "2005-01"
test=# select version();
                                                 version

--------------------------------------------------------------------------------
--------------------------
 PostgreSQL  8 . 0 .0beta1 on i686-pc-mingw32, compiled by GCC gcc.exe (GCC)  3 . 2 . 3  (
mingw special  20030504 - 1 )
( 1  row)
...
Рейтинг: 0 / 0
Перешел на 8.0 и сразу полезло!!!!!!
    #32881426
roottim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На 7.4.6 запрорс прекрасно работал:
dt_time - timestimp.
select * from log where to_date(dt_time,'YYYY-MM')='2005-01'
ERROR: invalid input syntax for type date: "2005-01"

На 8.0 не хочет - в чем причина???????


в Оракле есть параметр, где указан способ записи даты в строковом виде.
Судя по всему 2005-01 не есть тот формат, тем-более без даты
на Оракле было бы так

select * from log where to_char(dt_time,'YYYY-MM')='2005-01'
...
Рейтинг: 0 / 0
Перешел на 8.0 и сразу полезло!!!!!!
    #32881621
assa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
roottim на Оракле было бы так

select * from log where to_char(dt_time,'YYYY-MM')='2005-01'

Код: plaintext
1.
2.
select to_char('2005-01-11'::timestamp,'YYYY-MM')='2005-01'

t
наверное действительно "работал" именно to_char.
(приз и звание лучшего телепята 2 roottim)
...
Рейтинг: 0 / 0
Перешел на 8.0 и сразу полезло!!!!!!
    #32881710
AlWizard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Обьясню подробнее :

требуется выбрать данные за месяц, по полю dt_time TIMESTAMP,
запрос такого вида

select * from log where to_date(dt_time,'YYYY-MM')='2005-01-24'
почемуто не выдает данных за 2005-01... вот почему?????

REATE TABLE log
(
id serial NOT NULL,
dt_time timestamp,
out_t int8,
in_t int8,
url text,
ip inet,
)

Данные за указанный период есть....
...
Рейтинг: 0 / 0
Перешел на 8.0 и сразу полезло!!!!!!
    #32881772
Sad Spirit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlWizard
требуется выбрать данные за месяц, по полю dt_time TIMESTAMP,

наконец-то закончил сопли жевать и сподобился задачу сформулировать...
Код: plaintext
1.
select * from log where date_trunc('month', dt_time) = '2005-01-01';

AlWizard
select * from log where to_date(dt_time,'YYYY-MM')='2005-01-24'
почемуто не выдает данных за 2005-01... вот почему?????

Тебе assa чуть выше уже объяснил, почему. Читать умеешь?
...
Рейтинг: 0 / 0
Перешел на 8.0 и сразу полезло!!!!!!
    #32881939
AlWizard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А по нормальному общаться уже не можешь???? Самомнение большое???
Тебя никто не просит отвечать....
...
Рейтинг: 0 / 0
Перешел на 8.0 и сразу полезло!!!!!!
    #32881953
AlWizard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AlWizardА по нормальному общаться уже не можешь???? Самомнение большое???
Тебя никто не просит отвечать....

select SUM(cast(in_t as float)/1024/1024) as INPUT,SUM(cast(out_t as float)/1024/1024) as OUTPUT from log where ip='192.168.2.100' and date_trunc('month',dt_time)='2005-01-24'

Запрос не р аботает.....
...
Рейтинг: 0 / 0
Перешел на 8.0 и сразу полезло!!!!!!
    #32882048
Sad Spirit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты серьёзно не видишь никакой разницы между тем, что написал в запросе я, и тем, что написал ты? Тогда нефиг обижаться на вопрос, умеешь ли ты читать.
...
Рейтинг: 0 / 0
Перешел на 8.0 и сразу полезло!!!!!!
    #32882068
AlWizard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Намного меньше уйдет времени на обьяснение, чем на наезды и пустую болтовню, или ты уже родился самым умным, а теперь выставляешь свои мозги всем напоказ????
...
Рейтинг: 0 / 0
Перешел на 8.0 и сразу полезло!!!!!!
    #32882083
AlWizard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Разницу то я вижу, но почему именно так????
...
Рейтинг: 0 / 0
Перешел на 8.0 и сразу полезло!!!!!!
    #32882527
Sad Spirit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlWizardРазницу то я вижу, но почему именно так????
Потому что так работает функция date_trunc, кстати описанная в документации .
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Перешел на 8.0 и сразу полезло!!!!!!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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