![]() |
|
Модераторы: skyboy |
![]()
|
|
| BuShaRt |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: нет Всего: 6 |
Задача: есть любая дата. Нужно определить понедельник недели, которой пренадлежит дата.
На пример: 1. 22.02.2012 - Понедельником этой недели будет 20.02.2012 2. 9.02.2012 - Понедельником этой недели будет 6.02.2012 Реально ли это сделать на чистом SQL? |
|||
|
||||
| Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 4 Всего: 42 |
-------------------- Мир это Я. Живее всех живых. |
|||
|
||||
| BuShaRt |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: нет Всего: 6 |
||||
|
||||
| Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 4 Всего: 42 |
Конструкция может быть вложенной. т.е. в худшем из вариантов нужен ###код из 7 CASE Но можно поискать функции даты -------------------- Мир это Я. Живее всех живых. |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 454 |
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| BuShaRt |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: нет Всего: 6 |
Fortop,
Это попахивает быдлокодом... Akina, Спасибо! Отличное решение. Только в оригенале выдает ошибку, но легко можно поправить:
Это сообщение отредактировал(а) BuShaRt - 9.5.2012, 10:38 |
|||
|
||||
| BuShaRt |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: нет Всего: 6 |
Очень интересно было бы услышать мнение людей, ставящих минусы моему посту. Уверен, что они могут оспорить мои слова какой-то очень весомой информацией.
|
|||
|
||||
| Fortop |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 4 Всего: 42 |
Лично мой минус за вот это при том, что вам написали о "неоптимальности" предложенного варианта и где смотреть правильное решение
Это я к тому, что говорить о ###коде стоит лишь тогда, когда ты сам знаешь лучшее решение -------------------- Мир это Я. Живее всех живых. |
||||
|
|||||
| BuShaRt |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: нет Всего: 6 |
Fortop,
Предложенный Вами код очевиден и в представление не нуждается. Я бы даже сказал, что мысль о реальном использование таких конструкций говорит о непрофессиональности. Очень печально, что есть люди для которых это не очевидно, тем более, что я Выше попросил не приводить таких примеров:
Лучшее решение (именно то, что я ожидал услышать) привел, уважаемый Akina, за что ему большое спасибо. З.ы.: вообще, очень не красиво из-за личных переживаний минусовать посты. Если Вы еще не забыли, то это форум для общения специалистов в вопросах связанных с программированием и по сути поводом для минуса может быть только не согласие с техническими деталями, а не личные обиды. Это сообщение отредактировал(а) BuShaRt - 15.5.2012, 12:23 |
||||
|
|||||
| igorold |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 557 Регистрация: 22.12.2005 Где: Россия->Урал-& gt;Миасс Репутация: 5 Всего: 17 |
... при чем тут, интересно, личные обиды?
Тебе помогают, кто как может и не надо "плевать в дающую руку" ... -------------------- ... у семи нянек 14 сисек ... Putin here, Putin there, Putin almost everywhere! |
|||
|
||||
| BuShaRt |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: нет Всего: 6 |
igorold,
Есть в Ваших словах правда, но в народе такая помощь называется "медвежье услугой". Вопрос марали в данном случае заслуживает отдельного топика на форуме философов, но мы находимся на форуме программистов, где сообщение о том, что код некорректный (кратко "быдлокод") не является "плевком в душу", а констатирует тот факт, что код непрофессионален. Как воспринимать эту информацию - дело каждого. Я, на пример, искренне благодарен людям, которые на заре моей карьеры программиста меня тыкали носом в мой кривой код и говорили, что это немыслимый ужас необходимо переписывать. |
|||
|
||||
| Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 4 Всего: 42 |
Медвежья услуга это то, что сделал Акина. Поскольку вы ни на грамм не приблизились к пониманию и умению работы с мануалами и поисковыми системами. Вам тупо разжевали и засунули в рот отрыжку. Оно конечно удобно... для вас.... Но вот работать с такими специалистами как вы - просто доставляет. Полсотни вопросов "как сделать", каждый из которых гуглится буквально за 2-3 минуты. Из мотивация ( и ваша подозреваю тоже) - спросить же быстрее, а думать самому так лениво... да и не умеем... Мое счастье, что таких у меня всего два человека и те понемногу перевоспитываются. Учитывая тематику топика (и вот этого к примеру), ваша заря еще не закончилась. -------------------- Мир это Я. Живее всех живых. |
|||
|
||||
| igorold |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 557 Регистрация: 22.12.2005 Где: Россия->Урал-& gt;Миасс Репутация: 5 Всего: 17 |
... в том то и дело, что вопрос морали - это назвать чей-то код именно некорректным, а не "быдлокодом" ... мораль - категория этическая, а не филосовская ... Выше вам было предложено направление, а не конкретный код ... а непрофессионализм просматривается, как раз у вас ... И очень хочется, чтобы подобные программисты не марали своей писаниной программистский форум, например как в данной теме. Это сообщение отредактировал(а) igorold - 16.5.2012, 07:09 -------------------- ... у семи нянек 14 сисек ... Putin here, Putin there, Putin almost everywhere! |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 454 |
Уберите мой пост. После чего попробуйте найти направление, которое дали. Нашли? теперь оцените профессионализм этого направления. Только честно. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| igorold |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 557 Регистрация: 22.12.2005 Где: Россия->Урал-& gt;Миасс Репутация: 5 Всего: 17 |
Akina, понятно, что ваш совет профессиональнее, учитывая ваш богатый опыт.
Если указано направление и можно с его помощью решить проблему - это плохо? На то и форум, чтобы предлагать разные решения ... не у всех большой опыт, так значит пусть не дают советы? Не боитесь, что один останетесь в ветке? -------------------- ... у семи нянек 14 сисек ... Putin here, Putin there, Putin almost everywhere! |
|||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 33 Всего: 161 |
igorold, мне не понятно, к благодарности какому совету ты призываешь Не этого ли: Впрочем, я согласен с тем, что BuShaRt очень погорячился давать оценки способам решений. Это было грубоватенко. -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 454 |
Если с его помощью можно решить проблему, при этом любому понятно, что будет заведомо написан... выражусь политкорректно - монстрообразный нечитаемый медленно работающий неоптимальный код, который приведёт в ужас и начинающего, и специалиста,- это хорошо или плохо? -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 33 Всего: 161 |
Akina, да ладно тебе. Выражение из семи when'ов кейса на монстрообразность нуникак не тянет. А лаконичность не всегда признак читаемости. Иные лаконичные выражения мозг взрывается читать. К слову заметить, если бы ТС хотяб попытался реализовать им желаемое грубым кейсом, думаю где-то на среде он уловил бы закономерность и сам пришел бы к более лаконичному решению. -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| igorold |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 557 Регистрация: 22.12.2005 Где: Россия->Урал-& gt;Миасс Репутация: 5 Всего: 17 |
Я не призываю к благодарности ... я предлагаю ярлычки не вешать ... -------------------- ... у семи нянек 14 сисек ... Putin here, Putin there, Putin almost everywhere! |
|||
|
||||
| BuShaRt |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: нет Всего: 6 |
Решительно не понимаю, почему в рамках этого обсуждения мой уровень знаний был воспринят как стремящийся к нулю =) Я изначально знал, что существует простои и лаконичное решение базирующиеся на MySQL функциях работы с датами, но в меру того, что у меня не набита рука в работе с этими функциями, я решил посоветовать с более опытными коллегами. Честно скажу, что не потому, что не в состояние разобраться, а в целях экономии времени на штудировани мана и продумывания решения для свидения нужных функций воедино. Как только Akina привел свой пример я заручившись поддержкой мануала за пару минут разобрался в нем и дополнил его недостающей логикой. Поэтому утверждая, что получив ответ Akina я упустил какой-то важный момент в обучение, Вы явно ошибаетесь. Уверен, что ответ Fortop не только не приблизил меня к ответу, но еще и запутал новичков, которые в следующий раз вместо того, чтоб обратиться к функциям работы с датой будут громоздить сложную логику запроса. |
|||
|
||||
| igorold |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 557 Регистрация: 22.12.2005 Где: Россия->Урал-& gt;Миасс Репутация: 5 Всего: 17 |
Если стоит принципиальный вопрос - решить проблему и она будет решена неоптимальным кодом, то это будет поводом его оптимизировать ... только и всего, но при этом программа уже будет давать результат ... -------------------- ... у семи нянек 14 сисек ... Putin here, Putin there, Putin almost everywhere! |
|||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 33 Всего: 161 |
Где я что-то подобное утверждал? Я лишь заметил, что прийти к этому решению не сложно, стоит лишь начать идти, пусть и изначально не в ту сторону. Для того чтобы громоздить сложную логику, все равно придется обратиться к функциям работы с датами. Никого Fortop не запутал. Его ответ был просто ни о чем. И снисходительный тон, им выбранный, да - был не совсем уместен. Ровно как и не совсем уместной была ваша реакция на это. -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| igorold |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 557 Регистрация: 22.12.2005 Где: Россия->Урал-& gt;Миасс Репутация: 5 Всего: 17 |
Для воскресений этот алгоритм не работает:
выдает следующую дату. Добавлено @ 14:34 Я так понимаю нужна другая функция:
Добавлено @ 14:35 BuShaRt, ты ведь не будешь говорить, что Akina тебя запутал? Это сообщение отредактировал(а) igorold - 17.5.2012, 14:38 -------------------- ... у семи нянек 14 сисек ... Putin here, Putin there, Putin almost everywhere! |
||||
|
|||||
| BuShaRt |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: нет Всего: 6 |
igorold,
=) Хм... Да, слона то я и не заметил... Огромное спасибо! |
|||
|
||||
| Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 4 Всего: 42 |
http://dev.mysql.com/doc/refman/5.5/en/dat...-functions.html Это сложно? Добавлено через 6 минут и 16 секунд Это утверждал я -------------------- Мир это Я. Живее всех живых. |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 454 |
Насчёт неверного выбора функции, дающего неуниверсальное решение - полностью согласен. Но осмелюсь сослаться на твои собственные слова: Мой код сразу после устранения синтаксических недочётов начал давать правильный результат в рамках поставленной задачи. И лишь расширение области применения позволило выявить его недостаток и указать на необходимость его универсализации путём замены используемой функции. Так где я его запутал, а? -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 4 Всего: 42 |
Тебе на это ссылаться нельзя Просто потому что ты решил с некоторых пор стать адептом максимальной корректности решения. Так что оправдывайся теперь. -------------------- Мир это Я. Живее всех живых. |
|||
|
||||
| igorold |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 557 Регистрация: 22.12.2005 Где: Россия->Урал-& gt;Миасс Репутация: 5 Всего: 17 |
Akina, зачем же вы выдираете слова из контекста? Моя фраза была такая:
Причем открою большой секрет - в этой фразе содержится юмор ... легкий сарказм ... Насчет остального вы лукавите. Ваш запрос дает правильный результат в рамках поставленой задачи, НО только для 6-ти случаев из 7. И мое тестирование выявило ошибку для 1 случая из 7, что означает, что все-таки полностью проблема не была решена. Если вы это называете недостатком, ну ладно ... И к чему эти длинные разборки? был вопрос, нашли решение ... для этого и существует форум ... всем спасибо, все свободны ... -------------------- ... у семи нянек 14 сисек ... Putin here, Putin there, Putin almost everywhere! |
|||
|
||||
| Akina |
|
||||||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 454 |
Для 100 случаев из ста. Понедельник ВСЕГДА определяется правильно - а именно так была поставлена задача. Её расширение на любой день недели - это вовсе не топикстартером инициировано. Это - Ваше расширение. И с ним получается совсем иная задача. Тыкать мне то, что решение для одной задачи не подходит для другой - мне кажется как минимум некорректным.
Угу. Из неё даже невозможно понять, отрицающий это вопрос или утверждающий. Это я как-нибудь сам решу, без советов со стороны.
В рамках поставленной задачи - всегда. И мне никогда не придёт в голову посоветовать сострогать какое-нить многоэтажное безобразие, если есть хоть какой-то шанс сделать это иным способом. В отличие от [slack skipped]. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
||||||
|
|||||||
| igorold |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 557 Регистрация: 22.12.2005 Где: Россия->Урал-& gt;Миасс Репутация: 5 Всего: 17 |
Akina, в таком случае вы неправильно поняли вопрос топикстартера.
Он просил определить дату понедельника для любой даты недели, в который входит введенная дата. Согласен, что понедельник определяется ВСЕГДА, но для воскресений он уже относился к следующей неделе, что противоречит заданной проблеме ... Мне очень понравилось ваше решение и я даже поизучал его, чтобы понять как это работает ... извините, что нашел ошибку ... с кем не бывает ... -------------------- ... у семи нянек 14 сисек ... Putin here, Putin there, Putin almost everywhere! |
|||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 33 Всего: 161 |
А как же - поговорить © Добавлено через 1 минуту и 46 секунд А реплика была адресована мне. На то я и пытался указать, задавая этот вопрос. -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 454 |
Это как раз очень хорошо - в результате получено универсальное решение. Но основание для его поиска - моё предложение, а не предложение наплодить кучу вложенных кейсов. Всё-таки... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| igorold |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 557 Регистрация: 22.12.2005 Где: Россия->Урал-& gt;Миасс Репутация: 5 Всего: 17 |
... ну да ... -------------------- ... у семи нянек 14 сисек ... Putin here, Putin there, Putin almost everywhere! |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MySQL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |