MS SQL 2008 запрос.
От: Аноним  
Дата: 05.12.11 21:14
Оценка:
Имеется SQL, возвращающий 0 записей .

SELECT top 50 *
FROM Quote
WHERE TradeDate >= '01-Jan-2011'--(1)
AND TradeDate <= '02-Jan-2011' --(2)

при комментированном (1) или комментированном (2) записи возвращаются, и они есть в базе.

Between ведет себя аналогично.

Как такое может быть?
Re: MS SQL 2008 запрос.
От: londinium Украина  
Дата: 05.12.11 21:55
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Имеется SQL, возвращающий 0 записей .


А>SELECT top 50 *

А>FROM Quote
А>WHERE TradeDate >= '01-Jan-2011'--(1)
А> AND TradeDate <= '02-Jan-2011' --(2)

А>при комментированном (1) или комментированном (2) записи возвращаются, и они есть в базе.


А>Between ведет себя аналогично.


А>Как такое может быть?

А Если написать так:

[sql]
SELECT TOP 50 * FROM QUOTE WHERE CAST(TradeDate AS DATE)>='20110101'
AND CAST(TradeDate AS DATE)<='20110102'

[sql]
Re[2]: MS SQL 2008 запрос.
От: Аноним  
Дата: 05.12.11 21:59
Оценка:
тоже самое. по раздельности то они работают нормально, дело не в датах а в компаунде. Кстати, интересно, Between это самостоятельная команда или синтаксический сахар?
Re: MS SQL 2008 запрос.
От: Смоляное Чучелко Россия  
Дата: 06.12.11 01:35
Оценка:
А>Имеется SQL, возвращающий 0 записей .

Таки недопол, есть записи или нет? В твоём описании непонятно. В конце концов, если, например, есть записи за 31 декабря и 3 января, то именно так и должен вести себя запрос!
Re: MS SQL 2008 запрос.
От: ZAMUNDA Земля для жалоб и предложений
Дата: 06.12.11 06:40
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Как такое может быть?

Quote.TradeDate какого типа?
Покажи первые... ммм... ну десять записей результата с убранным (1) а потом с убраным (2).
Наука изощряет ум; ученье вострит память.
(c) Козьма Прутков
Re: MS SQL 2008 запрос.
От: paucity  
Дата: 08.12.11 07:22
Оценка:
Здравствуйте, Аноним, Вы писали:

Запросы:
SELECT top 50 * FROM Quote WHERE TradeDate = '01-Jan-2011'

и
SELECT top 50 * FROM Quote WHERE TradeDate = '02-Jan-2011'

что возвращают ?
Многие и рады были бы испытать когнитивный диссонанс, но нечем.
Re: MS SQL 2008 запрос.
От: Lloyd Россия  
Дата: 08.12.11 09:21
Оценка:
Здравствуйте, Аноним, Вы писали:

А>при комментированном (1) или комментированном (2) записи возвращаются, и они есть в базе.


А>Between ведет себя аналогично.


А>Как такое может быть?


Подозреваю, вы не совсем понимаете что делает AND и на самом деле вам нужен не AND, а OR.
Re: MS SQL 2008 запрос.
От: FantomGood Украина  
Дата: 09.12.11 09:24
Оценка:
Здравствуйте, Аноним, Вы писали:


А>Как такое может быть?


нет записей с TradeDate с 01.01.2011 по 02.01.2011
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.