|
|
|
Помогите написать функцию
|
|||
|---|---|---|---|
|
#18+
Есть таблица в БД с такими полями id(тип поля int) id_number(тип поля int) date_from(тип поля varchar) date_to(тип поля varchar) price(тип поля int) данные в полях id id_number date_from date_to price 1 1 01.10 30.04 3000 2 1 01.05 30.09 3 1 25.05 15.07 4 1 29.12.12 08.01.13 -- У меня есть дата 5.10.13. Мне нужно получить значение поле price где ДАТА входит в промежуток date_from - date_to, сначала сделать выборку по полным датам 29.12.12(в которых указан год), если ничего не найдено, тогда выбирать по тем датам в которых месяц и день даты(5.10) входит в промежуток date_from - date_to. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2014, 16:13:35 |
|
||
|
Помогите написать функцию
|
|||
|---|---|---|---|
|
#18+
paha4444, paha4444Я пишу компонент для сайта на CMS Joomla Уже получается - форум пишет мне компонент..) Это вам в раздел mysql надо, во-первых. А во-вторых, лучше почитайте уже наконец сами что нибудь. Как работать с датой в мускуле, выбрать все за промежуток дат. Даже на этом форуме не раз обсуждалось. А когда вы это все прочитаете, напишете свой запрос и у вас вдруг выскочит ошибка, или ничего не найдет, вы почитайте еще раз, подумайте что сделали не так. А если уж и тогда не получится то СО СВОИМ КОДОМ, который не так работает приходите спрашивать совета. Пока тему можно назвать как "Напишете мне функцию, мне лень читать мануалы и чему то учиться, я хочу готовое". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2014, 17:12:18 |
|
||
|
Помогите написать функцию
|
|||
|---|---|---|---|
|
#18+
SharuPoNemnogu, как делать выборку по дате я знаю. Я незнаю как сделать выборку по дате и месяцу не смотря на год. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2014, 17:28:59 |
|
||
|
Помогите написать функцию
|
|||
|---|---|---|---|
|
#18+
paha4444, ну во первых почему дата без года хранится? и во вторых: date_from(тип поля varchar) date_to(тип поля varchar) Какой VARCHAR для даты???? Вы сами себе жизнь усложняете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2014, 17:35:29 |
|
||
|
Помогите написать функцию
|
|||
|---|---|---|---|
|
#18+
paha4444У меня есть дата 5.10.13. Мне нужно получить значение поле price где ДАТА входит в промежуток date_from - date_to, сначала сделать выборку по полным датам 29.12.12(в которых указан год), если ничего не найдено, тогда выбирать по тем датам в которых месяц и день даты(5.10) входит в промежуток date_from - date_to.Не знаю, зачем так понадобилось, ну раз уж надо, так придется переделывать структуру таблицы, указывая полные даты в отдельном поле с правильным типом. А короткие даты преобразовать хотя бы и к строковым вида "ММДД" или "ММ.ДД". Это, если по-хорошему. Если по-плохому (оставить структуру как есть) - здравствуй вынос мозга жестокое снижение производительности SQL-запроса обилием функций преобразования. Модератор: paha4444 Кажется, Ваш вопрос практически не имеет отношения к данному форуму PHP, Perl, Python. Если это действительно так, напишите, в какой форум его перенести. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2014, 19:22:00 |
|
||
|
Помогите написать функцию
|
|||
|---|---|---|---|
|
#18+
SharuPoNemnogupaha4444, ну во первых почему дата без года хранится? и во вторых: date_from(тип поля varchar) date_to(тип поля varchar) Какой VARCHAR для даты???? Вы сами себе жизнь усложняете. Я ставил для даты формат DATE, просто в этом случае мне нужно при добавлении значения в поле даты, указывать год. А мне год в некоторых случаях ненужен. Вобщем задача в том, что после бронирования номера мне нужно указать и подсчитать стоимость номера в сутки. Цены находятся в отдельной таблице. И мне нужно из этой таблицы выбирать цену для подсчета по дате. В таблице даты от и до. Вся сложность в том, что даты могут быть указаны например только 10.05(день.месяц) без года. Например с 01.10 по 30.04 - 3000руб., если дата попадает в этот промежуток тогда считать стоимость по этой дате. Скажите а можно как нибудь хранить в БД в поле DATE только день и месяц без года? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2014, 19:46:03 |
|
||
|
Помогите написать функцию
|
|||
|---|---|---|---|
|
#18+
paha4444Скажите а можно как нибудь хранить в БД в поле DATE только день и месяц без года? О какой именно СУБД идет речь? А в общем то, не припоминаю СУБД со столь произвольным форматом даты. Проще использовать строку фиксированной длины для таких данных. Только не в человеко-понятном виде, как Вы пытаетесь делать, а в машинно-ориентированном. Преобразование в человекопонятный вид и обратно выполнять на стороне клиента. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2014, 19:57:01 |
|
||
|
Помогите написать функцию
|
|||
|---|---|---|---|
|
#18+
vkle, БД MySQL я думаю хранить в человеко понятном виде вот так 10.05, а при необходимости преобразовывать в машинно-ориентированный вид. Сейчас попробую, если что отпишу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2014, 20:20:28 |
|
||
|
Помогите написать функцию
|
|||
|---|---|---|---|
|
#18+
Да без проблем. Начните с реализации преобразования таких данных для банальных операций сравнения <,>,=. Потом убедитесь в невозможности использования индексов. Модератор: Тема перенесена из форума "PHP, Perl, Python". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2014, 21:21:41 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38568065&tid=1835197]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
44ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 214ms |
| total: | 330ms |

| 0 / 0 |
