| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > MS SQL Server > Arithmetic overflow error |
| Автор: TheSheevA 6.6.2005, 19:56 |
| Привет всем! В таблице есть поле, в котором хранятся данные разного формата, в том числе и даты. Конкретный тип данных в поле определяется другим полем таблицы, типа TYPE VALUE int 1234 date 01.01.05 text Hello, World! Нужно запросом выбрать все записи с датами до сегодняшней. Такой запрос: SELECT * FROM table WHERE TYPE='date' AND CONVERT("DATETIME",VALUE)<GetDate() выдает сабж. Предположительно, условие применяется ко всем записям (а не только к тем, у которых TYPE='data'). Никто не знает, как с этим бороться (или как написать правильно?) Используется MS SQL Server |
| Автор: Satana 6.6.2005, 20:12 |
| TheSheevA ну интересно а что все поля в таблице чтоли с датой? почему бы тебе не перечислить те поля которые тебя интересуют и собственно именно это поле и конвертить? |
| Автор: TheSheevA 6.6.2005, 20:27 | ||
Так оно и предполагается, но MSSQL не зочет сразу фыильтровать записи, не проходящие условие TYPE='date' То есть конвертит все записи. BTW в Access такой же запрос работает нормально... |
| Автор: boevik 6.6.2005, 20:33 | ||
Сделай join по ключу и условием в join поставить TYPE='date'.
|