|
|
|
cast от даты
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток! Мне трудно дается файербердовский сиквел, не могли бы вы покритиковать запрос. Задача такая. Есть две таблицы S1 и T1 связанные по ID, в каждой из этих таблиц есть поле DATA1, которое имеет вид "dd.mm.yyyy hh:mi:ss". так вот нужно выкатить разницу времени S1.data1 и T1.data1 по общему ID. в документации прочитал про возможность преобразования CAST, прикинл запрос такого вида Код: sql 1. 2. 3. 4. 5. 6. подскажите в какую сторону копать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2014, 15:49:00 |
|
||
|
cast от даты
|
|||
|---|---|---|---|
|
#18+
дата в инт не кастится. нигде ты этого "прочесть" не мог. зы: нужна разность - просто сделай вычитание. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2014, 15:53:33 |
|
||
|
cast от даты
|
|||
|---|---|---|---|
|
#18+
Улыбнул :) Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2014, 15:56:24 |
|
||
|
cast от даты
|
|||
|---|---|---|---|
|
#18+
Ну как-то так Код: sql 1. 2. 3. 4. 5. ps/ тынц ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2014, 15:56:57 |
|
||
|
cast от даты
|
|||
|---|---|---|---|
|
#18+
Спасибо всем . буду дальше ковырять ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2014, 16:10:24 |
|
||
|
cast от даты
|
|||
|---|---|---|---|
|
#18+
green_mcесть поле DATA1, которое имеет вид "dd.mm.yyyy hh:mi:ss". подскажите в какую сторону копать? Как насчёт копать под того идиота, который решил хранить дату в виде строки?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2014, 17:26:46 |
|
||
|
cast от даты
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Под него хрен копнешь)) Для того же Оракла - это реальный формат даты. а вот с Файербердом у меня возникают проблемы! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2014, 17:50:23 |
|
||
|
cast от даты
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Та не, о скорее всего на TIMESTAMP поле смотрит... Хотя бывают конечно и альтернативно одаренные личности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2014, 17:52:34 |
|
||
|
cast от даты
|
|||
|---|---|---|---|
|
#18+
green_mcДля того же Оракла - это реальный формат даты. Ты не поверишь, но Оракул тоже хранит дату в двоичном формате, без всяких "dd.mm.yyyy". Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2014, 17:59:37 |
|
||
|
cast от даты
|
|||
|---|---|---|---|
|
#18+
green_mcДоброго времени суток! Мне трудно дается файербердовский сиквел, не могли бы вы покритиковать запрос. Задача такая. Есть две таблицы S1 и T1 связанные по ID, в каждой из этих таблиц есть поле DATA1, которое имеет вид "dd.mm.yyyy hh:mi:ss". так вот нужно выкатить разницу времени S1.data1 и T1.data1 по общему ID. в документации прочитал про возможность преобразования CAST, прикинл запрос такого вида Код: sql 1. 2. 3. 4. 5. 6. подскажите в какую сторону копать? я впервые вижу что бы кто то, дату пытался в инт всунуть, а потом еще какую то арифметику делал )))) пс: не знаю какая задача стоит, но данные желательно обрабатывать на уровне клиента, с базы простыми селектами выбираешь данные... а на уровне клиента обрабатывай как нравится, группируй, сортируй, отнимай, прибавляй, выбирай среднее значение и т.д... агрегатные функции это круто, но при большом объеме данных может немного сервер пригрузить, особенно при группировке потом вычислениях, а потом чтоб мало не казалось еще сортировке ))) и старайся избавляться от скрытых джоинов from s1,t1 в разы быстрей будет выполнятся Код: sql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2014, 18:01:49 |
|
||
|
cast от даты
|
|||
|---|---|---|---|
|
#18+
anpl, Ну тут ты погорячился. Почитай, как дата хранится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2014, 18:11:33 |
|
||
|
cast от даты
|
|||
|---|---|---|---|
|
#18+
DarkMasteranpl, Ну тут ты погорячился. Почитай, как дата хранится. каст добавить не проблема!))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2014, 18:21:05 |
|
||
|
cast от даты
|
|||
|---|---|---|---|
|
#18+
anplи старайся избавляться от скрытых джоинов from s1,t1 в разы быстрей будет выполнятся Код: sql 1. 2. 3. 4. и не смущает что исходный запрос и запрос приведенный тобой это совсем разные запросы?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2014, 18:23:02 |
|
||
|
cast от даты
|
|||
|---|---|---|---|
|
#18+
m7manplи старайся избавляться от скрытых джоинов from s1,t1 в разы быстрей будет выполнятся Код: sql 1. 2. 3. 4. и не смущает что исходный запрос и запрос приведенный тобой это совсем разные запросы?? что за таблицы у него я без понятия, вполне возможно left join там не катит... спорить не буду! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2014, 18:31:47 |
|
||
|
cast от даты
|
|||
|---|---|---|---|
|
#18+
Перестаньте уже писать Код: sql 1. Пишите Код: sql 1. Ну или хотя бы Код: sql 1. Неявные преобразования вас когда-нибудь подставят. anplданные желательно обрабатывать на уровне клиента, с базы простыми селектами выбираешь данные... а на уровне клиента обрабатывай как нравится, группируй, сортируй, отнимай, прибавляй, выбирай среднее значение и т.д... агрегатные функции это круто, но при большом объеме данных может немного сервер пригрузить, особенно при группировке потом вычислениях, а потом чтоб мало не казалось еще сортировке )))Ну то есть все функции SQL-сервера, под которые собственно он заточен, нафиг, лучше на клиенте в гигабайтах ковыряться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2014, 18:54:22 |
|
||
|
cast от даты
|
|||
|---|---|---|---|
|
#18+
WildSeryПерестаньте уже писать Код: sql 1. Пишите Код: sql 1. Ну или хотя бы Код: sql 1. Неявные преобразования вас когда-нибудь подставят. Согласен! =) WildSeryНу то есть все функции SQL-сервера, под которые собственно он заточен, нафиг, лучше на клиенте в гигабайтах ковыряться. буду спорить :) Особенно по поводу ковыряния в гигабайтах! Где от за сотню конектов... Если такой бред запустит один пользователь, пол беды... Но как показывает практика, если на уровне сервера все это решать... и десяток человек запустит подобные отчеты, остальные 90 человек это на себе почувствуют! :) Это факт... Так же как и то, что 10 отчетов выкрутятся намного быстрей с относительно легкими селектами и обработкой на клиенте чем все 10 отчетов будет маслать сервер! По этому обращение к серверу лучше делать легкими селектами, а на клиенте ковырять эти данные. Хотя опять же таки в зависимости от того какая задача, далеко не всегда получается все делать на уровне клиента... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2014, 19:09:48 |
|
||
|
cast от даты
|
|||
|---|---|---|---|
|
#18+
anplWildSeryНу то есть все функции SQL-сервера, под которые собственно он заточен, нафиг, лучше на клиенте в гигабайтах ковыряться. буду спорить :) Особенно по поводу ковыряния в гигабайтах! Где от за сотню конектов... Если такой бред запустит один пользователь, пол беды... Но как показывает практика, если на уровне сервера все это решать... и десяток человек запустит подобные отчеты, остальные 90 человек это на себе почувствуют! :) Это факт... Так же как и то, что 10 отчетов выкрутятся намного быстрей с относительно легкими селектами и обработкой на клиенте чем все 10 отчетов будет маслать сервер! По этому обращение к серверу лучше делать легкими селектами, а на клиенте ковырять эти данные. Хотя опять же таки в зависимости от того какая задача, далеко не всегда получается все делать на уровне клиента... В данном случае у меня совершенно противоположное мнение (правда за сотню коннектов нет у нас, да и до сотни у нас резерв еще приличный есть) ну конечно согласен, что очень многое зависит от решаемой задачи, да еще и от "привычки" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2014, 19:45:18 |
|
||
|
cast от даты
|
|||
|---|---|---|---|
|
#18+
anpl, Все зависит от задачи, от данных, от их обьема,и от необходимости поддерживать данные в актуальном состоянии на определенный момент времени. Например для некоторых видов аналитики действительно проще выгрузить что-то на клиента во временное хранилище (типа embeded db) и там крутить их до посинения (клиента). Для более других задач - такой подход не сработает ни разу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2014, 19:49:39 |
|
||
|
cast от даты
|
|||
|---|---|---|---|
|
#18+
Само собой что от задач все зависит, я говорил по возможности :) Это не значит что давай теперь вместо for select внутри процедуры, делать выборку, обрабатывать на клиенте и возвращать данные в какую то процедуру и там апдейтить и т.д... В крайности ударятся не стоит )))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2014, 19:57:06 |
|
||
|
cast от даты
|
|||
|---|---|---|---|
|
#18+
DarkMasterдля некоторых видов аналитики действительно проще выгрузить что-то на клиента во временное хранилище (типа embeded db) и там крутить их до посинения (клиента) Вроде как нынче модно для аналитики выгружать данные на отдельный сервер в отдельную базу с кучей хранимых агрегатов и называть это красивой аббревиатурой "OLAP". Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2014, 20:08:51 |
|
||
|
cast от даты
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovDarkMasterдля некоторых видов аналитики действительно проще выгрузить что-то на клиента во временное хранилище (типа embeded db) и там крутить их до посинения (клиента) Вроде как нынче модно для аналитики выгружать данные на отдельный сервер в отдельную базу с кучей хранимых агрегатов и называть это красивой аббревиатурой "OLAP". +1. Только настоящая база ОЛАП очень сильно отличается от "обычной" реляционной базы. У нее физическая структкра другая. Востребованные аггрегаты может делать сама. И заточена для получения многомерных резалтсетов, в отличие от обычных SQL-запросов, с их фискированным кол-вом столбцов в запросе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2014, 20:52:45 |
|
||
|
cast от даты
|
|||
|---|---|---|---|
|
#18+
Как всегда, начали за здравие, а кончили за упокой. Я не говорил за отдельные базы которые хранятся на отдельных серверах и т.д... Что касается куба, реализовать OLAP систему никто не мешает на уровне реалиционной бд и клиента. Опять же таки по тому же принципу. Но здесь нужно понимать что данные должны хранится в некой таблице в развернутом виде. И получать доступ к этим данным обычной выборкой легко и быстро! А на уровне клиента обрабатывать эти данные в зависимости от того, что пользователь хочет увидеть. Я веду к тому что никто не запрещает создать на уровне клиента некий модуль который будет формировать и отправлять запросы на сервер к некой таблице в зависимости от того что хочет юзер, возвращать данные и обрабатывать данные. Не буду углубляться в подробности, так как от основной темы это уже ушло далеко :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2014, 22:48:36 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=38621935&tid=1563671]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
175ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 207ms |
| total: | 475ms |

| 0 / 0 |
