Войти

Показать полную графическую версию : Выборка по дате


Pulvertum
07-10-2009, 17:56
Нубский вопрос: подскажите пожалуйста как осуществить выборку по определенной дате в таблице по всем полям в Microsoft SQL Server 2005. Поле, содержащие дату имеет тип datetime.
Я делаю это следующим образом:
SELECT поля_таблицы
FROM таблица
WHERE имя_поля_с_датой = ДД.ММ.ГГ.

естественно пишет ошибку.
потом написал следующие
.....
.....
WHERE имя_поля_с_датой = 'ДД/ММ/ГГ'

стал выдавать ошибку, связанное что то с типами данных.
Потом попытался написать:

WHERE имя_поля_с_датой = TO_DATE ('ДД/ММ/ГГ')

всеравно ничего не вышло

Delirium
08-10-2009, 00:59
select поля from Table where имя_поля_с_датой = '2009-01-30' - за 30 января. Если уж совсем никак не выходит, сделайте вот такой костыль:
select поля from Table where ( day(имя_поля_с_датой)='30' and month(имя_поля_с_датой) = '01' and year(имя_поля_с_датой) = '2009' )

Pulvertum
08-10-2009, 11:23
А в таблице в поле даты еще и время оказывается указано тоесть имеет вид: "13.07.1985 15:45"
как по такому полю выбирать?

BlackEric
08-10-2009, 20:50
Да точно также.
Приведите текст ошибки, если по прежнему не получается

Delirium
09-10-2009, 00:58
как по такому полю выбирать? »
where hour(имя_поля) ='5' and minute(имя_поля)='35'

http://www.sqlservercurry.com/2008/03/how-to-extract-year-month-day-hour.html

Pulvertum
09-10-2009, 15:18
Все получилось, спасибо большое. А ошибка была связано что то с типами данных и преобразованием

1clove
22-10-2009, 09:57
Щас точно не помню, посмотри инфу по FormatString.
Дата преобразуется в нужный вид, типа: [yyyymmdd] (y - год, m - месяц, d - дата, без точек)
Должно получится что-то в виде этого: Query->FieldByName("data")->AsDataTime.FormatString[ddmmyyyy]
---
Желаю удачи!

Bonus 1991
03-11-2009, 00:58
поможыть знайти мне ключи до NOD 32




© OSzone.net 2001-2012