Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Перешел на 8.0 и сразу полезло!!!!!! / 19 сообщений из 19, страница 1 из 1
24.01.2005, 17:13
    #32880723
AlWizard
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перешел на 8.0 и сразу полезло!!!!!!
На 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
24.01.2005, 18:29
    #32881005
AlWizard
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перешел на 8.0 и сразу полезло!!!!!!
select to_date('2005-01-11','YYYY-MM') почемуто возвращает - 01.01.2005 ?????
...
Рейтинг: 0 / 0
24.01.2005, 18:35
    #32881016
assa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перешел на 8.0 и сразу полезло!!!!!!
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
24.01.2005, 18:43
    #32881034
AlWizard
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перешел на 8.0 и сразу полезло!!!!!!
AlWizardselect to_date('2005-01-11','YYYY-MM') почемуто возвращает - 01.01.2005 ?????

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

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

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

а ты DD допиши. Или это очепятка в вопросе?
select to_date('2005-01-11','YYYY-MM-DD');
...
Рейтинг: 0 / 0
24.01.2005, 19:00
    #32881062
assa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перешел на 8.0 и сразу полезло!!!!!!
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
24.01.2005, 19:17
    #32881086
AlWizard
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перешел на 8.0 и сразу полезло!!!!!!
Сори за неясности но:

На 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
24.01.2005, 19:26
    #32881106
AlWizard
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перешел на 8.0 и сразу полезло!!!!!!
Или же при select * from log where to_date(dt_time,'YYYY-MM')='2005-01-12'

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

Что касается "прекрасно работающего" запроса, то он мне предсказуемо вываливает синтаксическую ошибку как на 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
25.01.2005, 08:28
    #32881426
roottim
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перешел на 8.0 и сразу полезло!!!!!!
На 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
25.01.2005, 10:29
    #32881621
assa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перешел на 8.0 и сразу полезло!!!!!!
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
25.01.2005, 10:51
    #32881710
AlWizard
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перешел на 8.0 и сразу полезло!!!!!!
Обьясню подробнее :

требуется выбрать данные за месяц, по полю 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
25.01.2005, 11:06
    #32881772
Sad Spirit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перешел на 8.0 и сразу полезло!!!!!!
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
25.01.2005, 11:44
    #32881939
AlWizard
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перешел на 8.0 и сразу полезло!!!!!!
А по нормальному общаться уже не можешь???? Самомнение большое???
Тебя никто не просит отвечать....
...
Рейтинг: 0 / 0
25.01.2005, 11:47
    #32881953
AlWizard
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перешел на 8.0 и сразу полезло!!!!!!
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
25.01.2005, 12:09
    #32882048
Sad Spirit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перешел на 8.0 и сразу полезло!!!!!!
Ты серьёзно не видишь никакой разницы между тем, что написал в запросе я, и тем, что написал ты? Тогда нефиг обижаться на вопрос, умеешь ли ты читать.
...
Рейтинг: 0 / 0
25.01.2005, 12:16
    #32882068
AlWizard
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перешел на 8.0 и сразу полезло!!!!!!
Намного меньше уйдет времени на обьяснение, чем на наезды и пустую болтовню, или ты уже родился самым умным, а теперь выставляешь свои мозги всем напоказ????
...
Рейтинг: 0 / 0
25.01.2005, 12:20
    #32882083
AlWizard
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перешел на 8.0 и сразу полезло!!!!!!
Разницу то я вижу, но почему именно так????
...
Рейтинг: 0 / 0
25.01.2005, 14:46
    #32882527
Sad Spirit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перешел на 8.0 и сразу полезло!!!!!!
AlWizardРазницу то я вижу, но почему именно так????
Потому что так работает функция date_trunc, кстати описанная в документации .
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Перешел на 8.0 и сразу полезло!!!!!! / 19 сообщений из 19, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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