![]() |
|
![]() ![]() ![]() |
|
Spirit_FTZI2 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 10.8.2007 Репутация: нет Всего: нет |
Всем пре!
Смотрите код: SELECT Name, Date, InTime, OutTime, CONVERT(char, CAST(OutTime AS datetime) - CAST(InTime AS datetime), 8) AS vremya, CONVERT(char, CAST(InTime AS datetime) - CAST('9:00' AS datetime), 8) as opozdanie, CONVERT(char, CAST(OutTime AS datetime) - CAST('18:00' AS datetime), 8) as pererabotka FROM TALog Этот запрос работает, но... Если его писать не руками, а присваивать из Delphi: ADOQuery1.SQL.ADD('SELECT Name, Date, InTime, OutTime, CONVERT(char, CAST(OutTime AS datetime) - CAST(InTime AS datetime), 8) AS vremya, CONVERT(char, CAST(InTime AS datetime) - CAST('9:00' AS datetime), 8) as opozdanie, CONVERT(char, CAST(OutTime AS datetime) - CAST('18:00' AS datetime), 8) as pererabotka FROM TALog'); то символ ' будет розрывом строки возле времени. Если написать ...CAST("9:00" AS datetime)... то вылетает ошибка после компиляции (во время выполнения запроса): Invalid column name '9:00" Как поменять символы, как написать ...CAST('9:00' AS datetime)...??? ![]() ADO+SQL server А еще как реализовать: IIF(InTime> '9:00', CAST(InTime AS datetime) - CAST('9:00' AS datetime), 8) as opozdanie, 0) ??? Оишбка что знак > не опознан... То есть нужно что бы выводилась разница времени если InTime был позже чем 9.00??? Это сообщение отредактировал(а) Spirit_FTZI2 - 27.10.2007, 21:01 |
|||
|
||||
Anark1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 622 Регистрация: 15.12.2006 Где: RF -> Moscow Репутация: 1 Всего: 11 |
Попробуй двойной символ '.
|
|||
|
||||
volvo877 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2073 Регистрация: 15.11.2004 Репутация: 4 Всего: 116 |
|
|||
|
||||
Spirit_FTZI2 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 10.8.2007 Репутация: нет Всего: нет |
ооо, работает!!!!!!!!!!!!!!!!!!
![]() ![]() а как про IIF??? |
|||
|
||||
Spirit_FTZI2 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 10.8.2007 Репутация: нет Всего: нет |
Кому интересно про IIF:
SELECT Name, Date, InTime, OutTime, CONVERT(char, CAST(OutTime AS datetime) - CAST(InTime AS datetime), 8) AS vremya, CASE WHEN CAST(InTime AS datetime) > CAST('9:00' AS datetime) THEN CONVERT(char, CAST(InTime AS datetime) - CAST('9:00' AS datetime), 8) ELSE CONVERT(char, CAST('0:00' AS datetime), 8) END AS opozdanie, CONVERT(char, CAST(OutTime AS datetime) - CAST('18:00' AS datetime), 8) AS pererabotka FROM TALog ![]() ![]() ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Базы данных и репортинг" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |