|
выборка по дате
|
|||
---|---|---|---|
#18+
DagЕсли уж тут проходит конкурс извращенцОв - то могу я представить свою версию? Типа такого Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
Если убрать все ваши навороты, то, по сути, вы написали такое условие Код: plaintext
Но по условиям задачи сравниваются только месяц и день. Без учета года. А в вашем решении год играет существенную роль. Т.е. поставленную задачу не решает. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2009, 10:44 |
|
выборка по дате
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2009, 14:40 |
|
выборка по дате
|
|||
---|---|---|---|
#18+
GoshaS Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Вы не ту дату сравниваете с 29 февраля. Ошибку будет давать функция Date(), следовательно, анализировать надо те параметры, которые будут передаваться в эту функцию. Если dr - это поле таблицы, то разве ваш код исключает возможность этой ошибки в функции Date()? Ведь день месяца и сам месяц берется именно из поля таблицы. Если вы хотите исключить ошибку високосного года, то в вашем примере надо озаботится тем, чтобы YEAR(ldStartDate) и Year(ldEndDate) возвращали именно високосный год. Например, 2000. А сдвиг на один день ошибку не исключает. Другими словами, год надо задать явно. Код: plaintext 1. 2.
Тогда уже не важно, что будет стоять в качестве месяца и дня в функции Date(), поскольку год все-равно високосный. Ошибки быть не может. Однако при переходе через новый год это все-равно может породить ошибку, поскольку следующий год будет не високосным и опять возможно 29 февраля. Но здесь можно исходить из предполождения, что рассматриваемый период заведомо меньше месяца. Т.е. если попали на 29 февраля и год не високосный, то функция Date() вернет пустую дату. А пустая дата заведомо не попадает в диапазон между любыми не пустыми датами. И, поскольку интервал меньше месяца, то при переходе через новый год февраль по любому будет вне рассматриваемого диапазона. Формально ошибка есть, но фактически она не влияет на результат. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2009, 15:03 |
|
выборка по дате
|
|||
---|---|---|---|
#18+
Bolik2k, Для выборки работников(ещё неуволенных) с заданным возрастом WOZR за данный период DATN,DATK использую представление с таки SQL-запросом: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2009, 16:32 |
|
выборка по дате
|
|||
---|---|---|---|
#18+
О Как :-) за скорость обработки ничего не скажу, но на первый взгляд, должно отработать. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
Ага, что-то не то написал, как в анекдоте про блондинку с двумя шоколадками по 10 рублей :-) Работа все время отвлекает ;-) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2009, 17:05 |
|
выборка по дате
|
|||
---|---|---|---|
#18+
2 GoshaS В функцию Date() недопустимо пердавать нулевые значения параметров. Date(2000,1,0) - выдаст сообщение об ошибке и породит исключение. Т.е. SQL-запрос просто вылетит, если DAY(dr) - 1 = 0 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2009, 17:18 |
|
выборка по дате
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2009, 17:59 |
|
выборка по дате
|
|||
---|---|---|---|
#18+
GoshaS Код: plaintext 1. 2. 3. 4.
Дело не в красоте. В этом случае теряется смысл вашего кода. Вроде как вычитаем, а вроде и не вычитаем. В чем тогда смысл операции? Особенно, если конечная дата диапазона - это как раз первое число месяца? Кстати, (Date() - 1) вовсе не то же самое, что DATE(..., DAY()-1) применительно к 1 числу месяца. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2009, 18:03 |
|
выборка по дате
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2009, 18:32 |
|
выборка по дате
|
|||
---|---|---|---|
#18+
В общем-то, примерно с этого все и началось. Перечитайте еще раз первые ответы данной темы. Только кроме функци DTOC() лучше применять функцию DTOS(). Ее работа не зависит от текущей настройки SET DATE она всегда возращает строку формата "ГГГГММДД", что очень удобно для сортировки. Т.е. вместо Код: plaintext 1.
используется просто Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2009, 21:34 |
|
выборка по дате
|
|||
---|---|---|---|
#18+
здравствуйте! вопрос не совсем в тему, но тоже касается даты (я посчитал, что он не достоин отдельной темы, поэтому пишу здесь) у меня есть 3 переменных: a=11 * месяц b=10 * число c=2000 * год есть таблица БД с полем типа date подскажите как записать в это поле дату, которую можно составить из этих переменных по событию "клик" кнопки? а то я чувствую гугл скоро будет тошнить от моих запросов, т.к. все что я пытался сделать ни к чему не привело((( ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2009, 23:35 |
|
выборка по дате
|
|||
---|---|---|---|
#18+
Все слова в отдельности понятны, а вместе - нет. Не только гуголь встанет в тупик. В чем заключается сакральный смысл этих манипуляций ? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2009, 07:09 |
|
выборка по дате
|
|||
---|---|---|---|
#18+
TempUsrздравствуйте! вопрос не совсем в тему, но тоже касается даты (я посчитал, что он не достоин отдельной темы, поэтому пишу здесь) у меня есть 3 переменных: a=11 * месяц b=10 * число c=2000 * год есть таблица БД с полем типа date подскажите как записать в это поле дату, которую можно составить из этих переменных по событию "клик" кнопки? а то я чувствую гугл скоро будет тошнить от моих запросов, т.к. все что я пытался сделать ни к чему не привело((( Записать что-то в поле Код: plaintext
Сформировать из известных значений Года, Месяца и Дня собственно дату можно несколькими способами Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2009, 11:51 |
|
выборка по дате
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6.
Ошибка: Function argument value, type or count is invalid подскажите, что я опять не так делаю? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2009, 13:49 |
|
выборка по дате
|
|||
---|---|---|---|
#18+
Dag в поле data типа date таблицы БД хочу записать дату своего рождения, дата формируется из трех чисел - день, месяц, год, которые я получаю из компонент textbox вот как-то так =) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2009, 13:55 |
|
выборка по дате
|
|||
---|---|---|---|
#18+
TempUsr Код: plaintext 1. 2. 3. 4. 5. 6.
Ошибка: Function argument value, type or count is invalid подскажите, что я опять не так делаю? По умолчанию, объект TextBox содержит информацию в символьном типе данных. А функция STR() предполагает преобразование числового типа в символьное представление. О чем вы должны были узнать прочитав справку по функции STR(). У вас два пути решения проблемы: 1. Указать объекту TextBox вводить данные в числовом типе данных. Это можно сделать задав значение TextBox.Value = 0 в дизайнере формы 2. Если вы оставляете символьный тип данных в объекте TextBox, то вместо функции STR() следует использовать функцию AllTrim() для отсечения возможных ведущих и концевых пробелов Код: plaintext
И еще, я бы вам настоятельно советовал, прежде чем спрашивать, прочитать справку в HELP по используемым функциям. Кроме того, при возникновении ошибки появляется диалоговое окно в котором есть кнопка Help. Если ее нажать, то открывается статья, в которой достаточно внятно объясняется причина ошибки и как ее исправить. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2009, 14:05 |
|
выборка по дате
|
|||
---|---|---|---|
#18+
автор кнопка Help. Если ее нажать, то открывается статья об этом не знал, спасибо и вообще за все спасибо, больше вы от меня глупых вопросов не услышите ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2009, 15:01 |
|
|
start [/forum/topic.php?fid=41&gotonew=1&tid=1586501]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
38ms |
get topic data: |
12ms |
get first new msg: |
13ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 167ms |
0 / 0 |