Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2007.12.23;
Скачать: [xml.tar.bz2];

Вниз

Округление даты-время в дату в SQL   Найти похожие ветки 

 
DelphiN! ©   (2007-06-26 11:36) [0]

Есть таблица со значениями :


Time_                                   SUMM_
01.01.2006 01:08:54               100  
01.01.2006 02:07:43               200  
02.01.2006 01:05:18               800
02.01.2006 03:00:16               400
03.01.2006 04:02:27               1200


Необходимо вывести результат запроса :


01.01.2006        300
02.01.2006        1200
03.01.2006        1200


Как написать подобный SQL запрос?


 
Desdechado ©   (2007-06-26 11:37) [1]

CAST( x AS DATE )


 
Johnmen ©   (2007-06-26 12:58) [2]


> Необходимо вывести результат запроса :

Так вывести или что?
А диалект какой?


 
DelphiN! ©   (2007-06-26 13:03) [3]


> Johnmen ©   (26.06.07 12:58) [2]


Вывести
FireBird 1.5


 
Desdechado ©   (2007-06-26 13:13) [4]

> FireBird 1.5
Это не диалект.


 
DelphiN! ©   (2007-06-26 13:19) [5]

Извиняюсь, диалект 1


 
Johnmen ©   (2007-06-26 13:23) [6]

Так, идём дальше....
Вывести куда?


 
Desdechado ©   (2007-06-26 13:25) [7]

SUM
GROUP BY
EXTRACT
TRUNC


 
DelphiN! ©   (2007-06-26 14:07) [8]


> Johnmen ©   (26.06.07 13:23) [6]


Всмысле куда? В таблицу ... В SQL editor-e IBExpert-a нужно написать запрос и получить в гриде соответствующий результат


 
Johnmen ©   (2007-06-26 14:09) [9]


> DelphiN! ©   (26.06.07 14:07) [8]
> В таблицу ... В SQL editor-e IBExpert-a нужно написать запрос и получить
> в гриде соответствующий результат

Ну получишь вместе со временем, на что это влияет?


 
DelphiN! ©   (2007-06-26 14:17) [10]

Что значит на что влияет?
Мне нужно дать в екселе руководству отчет по выручке за каждый день, если дата будет в виде 01.01.2006 00:00:00 ничего страшного, главное чтобы сумма бала за период с 01.01.2006 00:00:00 по 01.01.2006 23:59:59 а отображалась в таблице в виде

01.01.2006    300  
или
01.01.2006 00:00:00   300


 
DelphiN! ©   (2007-06-26 14:22) [11]


> Desdechado ©   (26.06.07 13:25) [7]


Ф-ии TRUNC в FireBird нет.
А с помощью ф-ии Extract можно получить по отдельности день недели, месяц, день месяца, год, а дату без времени то как?


 
Johnmen ©   (2007-06-26 14:24) [12]


> DelphiN! ©   (26.06.07 14:17) [10]

Какая связь между "SQL editor IBExpert" и "екселем"?


 
DelphiN! ©   (2007-06-26 14:25) [13]


> Johnmen ©   (26.06.07 14:24) [12]


IBExpert main menu -> Grid -> Save data as ... XLS File


 
Johnmen ©   (2007-06-26 14:29) [14]

А-а-а... Тогда ищи в настройках IBExpert"а формат отображения датавременных полей....


 
DelphiN! ©   (2007-06-26 14:30) [15]


> Johnmen ©   (26.06.07 14:29) [14]


:"(((

Причем тут формат отображения??

Мне нужно из

Time_                                   SUMM_
01.01.2006 01:08:54               100  
01.01.2006 02:07:43               200  
02.01.2006 01:05:18               800
02.01.2006 03:00:16               400
03.01.2006 04:02:27               1200

получить :

01.01.2006        300
02.01.2006        1200
03.01.2006        1200


 
Johnmen ©   (2007-06-26 14:33) [16]

и объясни, зачем время указывалось при заполнении поля Time_?


 
Johnmen ©   (2007-06-26 14:35) [17]


> DelphiN! ©   (26.06.07 14:30) [15]
> Причем тут формат отображения??

Как причём? Ты же отображаешь в [15].


 
zz 5 ©   (2007-06-26 14:35) [18]


> Причем тут формат отображения??


В том, что надо выводить только дату без времени. А это делается с помощью формата отображения полей типа DateTime в настройках IBExpert


 
Johnmen ©   (2007-06-26 14:39) [19]


> DelphiN! ©   (26.06.07 14:30) [15]

Добавь вычисляемое поле в таблицу, где будет чистая дата, и по нему группируй.


 
DelphiN! ©   (2007-06-26 14:43) [20]

IbExpert main menu -> Options -> Environment options -> Grid -> Display formats -> DateTime Fields -> dd.mm.yyyy
приводит к тому что отображаются данные поля без времени, но при двойном щелчке на поле показывается и время, причем вывод уникальных значений select distinct TIME_ дает много одинаковых значений, щелкнув на которые оказывается что в каждом значении даты\времени разное время

Вобщем меняется только визуальное отображение в таблице


 
DelphiN! ©   (2007-06-26 14:52) [21]


> Johnmen ©   (26.06.07 14:39) [19]


Разве нельзя преобразовать дату-время к формату даты?
Данных много и таблица рабочая ... Неужели нельзя обойтись sql-ем

В оракле видел запросы вида :
select trunc(to_date(sysdate, "DD-MM-YYYY")) from dual

неужели в FireBird-е нет аналогичного решения?


 
Johnmen ©   (2007-06-26 15:02) [22]


> Разве нельзя преобразовать дату-время к формату даты?

Нельзя ибо нет такого формата в 1 диалекте.

> В оракле видел запросы вида : select trunc(to_date(sysdate,
>  "DD-MM-YYYY")) from dual

Есть аналогичное, но что тебе это даст? Тебе же группировать надо!


 
DelphiN! ©   (2007-06-26 15:10) [23]


> Johnmen ©   (26.06.07 15:02) [22]


А какие решения есть в 3ем диалекте?


 
Johnmen ©   (2007-06-26 15:13) [24]

Кстати, вот так на 1.5-ке пойдёт
SELECT EXTRACT(DAY FROM Time_)||"."||EXTRACT(MONTH FROM Time_)||"."||EXTRACT(YEAR FROM Time_), SUM(...) FROM Table
GROUP BY 1


 
Johnmen ©   (2007-06-26 15:14) [25]


> DelphiN! ©   (26.06.07 15:10) [23]
> А какие решения есть в 3ем диалекте?

[1]


 
DelphiN! ©   (2007-06-26 15:17) [26]


> Johnmen ©   (26.06.07 15:13) [24]


Ура! Спасибо!


 
Desdechado ©   (2007-06-26 15:53) [27]

> Ура! Спасибо!
Долго же тебе разжевывать пришлось...


 
vlad_   (2007-08-16 18:35) [28]


> Кстати, вот так на 1.5-ке пойдётSELECT EXTRACT(DAY FROM
> Time_)||"."||EXTRACT(MONTH FROM Time_)||"."||EXTRACT(YEAR
> FROM Time_), SUM(...) FROM TableGROUP BY 1


более красивее
cast(cast(time_ as varchar(11)) as date)


 
Кщд ©   (2007-08-17 07:10) [29]


> В оракле видел запросы вида :
> select trunc(to_date(sysdate, "DD-MM-YYYY")) from dual

офф: тут уж либо trunc, либо to_date. иначе - масло масляное)



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2007.12.23;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.51 MB
Время: 0.046 c
15-1195992791
nstur
2007-11-25 15:13
2007.12.23
Zip


2-1196011828
sdaf
2007-11-25 20:30
2007.12.23
проблемы с RxRichEdit


2-1195984219
m-kirill-2003
2007-11-25 12:50
2007.12.23
функция ord()


4-1180950245
TCrash
2007-06-04 13:44
2007.12.23
Сообщение WM_USER_PREPARE_TO_CLOSE


2-1196241829
Галинка
2007-11-28 12:23
2007.12.23
как сдвинуть строку?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский