Текущий архив: 2005.09.18;
Скачать: CL | DM;
Вниз
Даты в MSSQL Найти похожие ветки
← →
surkis (2005-08-04 13:55) [0]Подскажите как правильно при формировании запроса в делфи указывать даты? я имею в виду синтаксис и формат..к примеру:
where DateDone between #01.07.2005# and #01.08.2005# или
where DateDone between "01.07.2005" and "01.08.2005" или
where DateDone between "1 July, 2005" and "1 August 2005"
← →
Sergey13 © (2005-08-04 13:56) [1]Правильно - через параметры.
← →
ANB © (2005-08-04 13:57) [2]Оптимально "20050701", т.е. "YYYYMMDD". Такой формат не зависит от локальных настроек. Иначе могут быть грабли.
← →
ANB © (2005-08-04 13:57) [3]Да, и лучше это все в параметры заворачивать.
← →
Fay © (2005-08-04 14:03) [4]2 surkis (04.08.05 13:55)
Смотри [2]. Остальное написали сгоряча.
← →
Fay © (2005-08-04 14:06) [5]2 Sergey13 © (04.08.05 13:56) [1]
Как передать в параметре (ADOQuery какой-нибудь) дату"20050101 12:33:44.557"
?
← →
ANB © (2005-08-04 14:08) [6]
> Fay © (04.08.05 14:06) [5]
- строкой. Гы. Я так всегда и делал.
← →
Sergey13 © (2005-08-04 14:09) [7]2 [5] Fay © (04.08.05 14:06)
Я с АДО не работал. Полагаю, что аналогично не АДО. AsDateTime
← →
Fay © (2005-08-04 14:10) [8]2 ANB © (04.08.05 14:08) [6]
Зачем тогда параметры?
← →
Fay © (2005-08-04 14:11) [9]2 Sergey13 © (04.08.05 14:09) [7]
>> Полагаю, что аналогично не АДО. AsDateTime
Получится только до секунд.
← →
surkis (2005-08-04 14:12) [10]Спасибо всем!!! буду пробовать...
← →
Sergey13 © (2005-08-04 14:14) [11]2[9] Fay © (04.08.05 14:11)
А мне достаточно. 8-)
Нафига точнее то? Слабо себе прдставляю где это надо. Нет, я понимаю, что иногда нужны милисекунды, но не могу себе представить. 8-)
Кроме того есть интервалы.
← →
surkis (2005-08-04 14:20) [12]
> ANB © [2]
Если я правильно понял то правильно так:
Where DateDone beetween "20050701" and "20050901"
Но Query Analyzer на эту строку говорит:"Incorrect syntax near "beetween""
← →
Fay © (2005-08-04 14:25) [13]surkis (04.08.05 14:20) [12]
between
← →
ANB © (2005-08-04 14:25) [14]
> beetween
Правильно говорит. Читай внимательно ошибку.
← →
Fay © (2005-08-04 14:25) [15]2 Sergey13 © (04.08.05 14:14) [11]
>> Кроме того есть интервалы.
Это хто такие?
← →
surkis (2005-08-04 14:27) [16]а ну да я в спешке лишнюю букву поставил.. всем спасибо получилось!!!
← →
Sergey13 © (2005-08-04 14:31) [17]2[15] Fay © (04.08.05 14:25)
>>Это хто такие?
Это интервал между двумя соседними секундами.
Мне никогда не нужны были милисекунды. Я ими не занимался.
Ты считаешь что параметры это плохо?
← →
ANB © (2005-08-04 14:32) [18]
> Fay © (04.08.05 14:25) [15]
> Sergey13 © (04.08.05 14:14) [11]
Не собачтесь. Сами знаете, что оба варианта имеют право на жизнь. Каждый в своем случае.
Например, мне нужно просто выполнить запрос из QA. И как мне здесь с параметрами изгаляться ? И зачем ?
← →
Fay © (2005-08-04 14:34) [19]2 Sergey13 © (04.08.05 14:31) [17]
>> Ты считаешь что параметры это плохо?
Я считаю, что они редко неоходимы.
← →
ANB © (2005-08-04 14:35) [20]
> Fay © (04.08.05 14:34) [19]
- если запросы из клиента на делфи - то очень часто. Проблем меньше.
← →
Sergey13 © (2005-08-04 14:37) [21]2 [19] Fay © (04.08.05 14:34)
>Я считаю, что они редко неоходимы.
Из-за милисекунд? А как же разбор запроса. Без параметров он будет рабираться всегда, с параметрами 1 раз.
Или в МС не так? Я с ним не работал.
← →
Fay © (2005-08-04 14:38) [22]2 ANB © (04.08.05 14:35) [20]
>> если запросы из клиента на делфи - то очень часто.
А разве я на VFP пишу?
>> Проблем меньше
Меньше нуля?
← →
Fay © (2005-08-04 14:41) [23]2 Sergey13 © (04.08.05 14:37) [21]
Если у Вас цикл одинаковых запросов, тогда , конечно, с параметрами.
В остальных случая такой необходимости нет.
Я ведь говорю именно о необходимости!
← →
Fay © (2005-08-04 14:42) [24]2 Sergey13 © (04.08.05 14:31) [17]
>> Это интервал между двумя соседними секундами.
Интервал - это интервал. Понял.
Это хде такой "есть"?
← →
Sergey13 © (2005-08-04 14:46) [25]2 [23] Fay © (04.08.05 14:41)
>Если у Вас цикл одинаковых запросов, тогда , конечно, с параметрами.
При чем тут цикл? Если есть запрос, который отрабатывает более 1 раза за сеанс, его выгоднее делать в параметрами. Чем он чаще выполняется тем выгоднее. Соглашусь лишь с тем, что выгода эта визуально "на глаз" не заметна.
← →
Sergey13 © (2005-08-04 14:48) [26]2 [24] Fay © (04.08.05 14:42)
>Это хде такой "есть"?
Эта тама, рядом с between-ом.
← →
Fay © (2005-08-04 14:54) [27]2 Sergey13 © (04.08.05 14:48) [26]
У меня, видимо, не рядом. 8)
Пример можно?
← →
Fay © (2005-08-04 14:57) [28]2 Sergey13 © (04.08.05 14:46) [25]
>> Если есть запрос, который отрабатывает более 1 раза за сеанс
Ага! И сервер помнит его план до конца сессии? Как бы не так!
← →
Sergey13 © (2005-08-04 15:09) [29]2[27] Fay © (04.08.05 14:54)
>Пример можно?
between :d1 and :d2
где параметры различаются на секунду
Дались тебе эти милисекунды.
[28] Fay © (04.08.05 14:57)
>Ага! И сервер помнит его план до конца сессии? Как бы не так!
Если запросы с параметрами пишу все разработчики и если с сервером работает не один экземпляр приложения а несколько десятков, то это очень даже вероятно. Я повторю, я с МС не работал, а вот в Оракле часто наблюдал, как некоторые запросы отрабатывались по 1000000 раз и более (не за день разумеется, а за время непрерывной работы сервера - несколько недель/месяцев).
← →
Fay © (2005-08-04 15:15) [30]2 Sergey13 © (04.08.05 15:09) [29]
1) Про интервалы я так и не понял ничего. Совсем.
2) 1000000 - это не "более 1 раза за сеанс" Это почти 12 герц (если 24 часа)!
← →
Sergey13 © (2005-08-04 15:19) [31]2[30] Fay © (04.08.05 15:15)
1) Ну и ладно.
2) Я ж говорю, что не за 1 день, а за месяцы работы.
← →
ANB © (2005-08-04 16:27) [32]
> Fay © (04.08.05 14:38) [22]
- есть еще ХП. Их же тоже ты пишешь.
> Fay © (04.08.05 14:57) [28]
- не думаю, что в MS SQL сильно по другому, но в оракле есть понятие проедурный кэш. Если непараметрических запросов с клиента не приезжает, то он используется аккуратно, а параметрические его портят. В МВ за написание программистом непараметризированного запроса его без раздумий штрафовали на 15 баксов.
← →
Sergey13 © (2005-08-04 16:33) [33]2 [32] ANB © (04.08.05 16:27)
> а НЕпараметрические его портят.
8-)
← →
ANB © (2005-08-04 16:50) [34]
> Sergey13 © (04.08.05 16:33) [33]
Очепятка :)))
← →
Fay © (2005-08-04 17:40) [35]2 ANB © (04.08.05 16:27) [32]
>> штрафовали на 15 баксов
С этого и надо было начинать! 8)
← →
Anatoly Podgoretsky © (2005-08-04 19:48) [36]Можно штрафовать как за параметрические, так и за непараметрические параметры.
Страницы: 1 вся ветка
Текущий архив: 2005.09.18;
Скачать: CL | DM;
Память: 0.55 MB
Время: 0.027 c