Необходимо построить запрос длиной более 255 символов
Документация по функции sqlAddStr очень неполная. Прошу помощи в использовании.
Мой пример кода (ПК "Галактика" закрывается по Runtime error)
Причем без 'and year(katsopr.dsopr)=?' в собираемом запросе, все отрабатывает на ура. В разделе хэлпа "Функции прямого sql" заявлена функция year для использования. Что, собственно, не так делаю ?
Александр, извините за долгое молчание: лето, отпуска, авралы и пр.
Впрочем, вижу, что вы уже разобрались. В самом деле, проблема в том, что вы перепутали два типа хэндлов: хэндл на запрос и хэндл на строку запроса.
Денис, а что именно возвращает запрос? Формируется ли драйверный лог? Можете ли внешними средствами посмотреть, какой запрос уходит в СУБД?
CREATE function dtYEAR(@DT BINARY(4)) returns INT as // раз уж ТОЛЬКО INT, то и преобразуем в 4-х байтовое binary
begin
-- return CONVERT(INT,SUBSTRING(@DT,1,2))&0x7FFF
return CONVERT(INT,SUBSTRING(@DT,1,2))&0x7FFF
end
CREATE function dtYEAR(@DT BINARY(8)) returns INT as
begin
-- return CONVERT(INT,SUBSTRING(@DT,1,2))&0x7FFF
return CONVERT(INT,SUBSTRING(@DT,5,2))&0x7FFF
end
Привет разрабтчику TSQL - скриптов !
Такое впечатление, что разработчики скриптов TSQL полагают один формат датового поля, а гало-движка - по-другому....
А вообще сразу видно что прикладники эти функционалом не пользуются наверное практически, иначе бы уж давно это исправили...(+ аналогичные функции дня и месяца) .
не, тут похоже функция заточена на datetime, а не на date
разбираться с этим по ходу времени нет, поэтому, пожалуйста, обратитесь в техподдержку, зарегистрируйте инцидент. будем решать
sql Select katsopr.nrec from katsopr where katsopr.vidsopr=110 and katsopr.tipsopr=2 and Year(DateTime(katsopr.dsopr, CurTime))=2008;
Федору...
Множественые пасы руками над грудой файлов базы... и вот - НОВая примочка АТЛАНТИСа - РУЛИТ!...осталось каждому из НАС (дописывателей) - стать фокусниками. Проверка типов - первое дело для любого конвертатора!
НЕ можно смешивать разнотипные параметры: SQL типы (BINARY(8), datatime, int) и VIP-SQL-типы (Date, Time и т.п.), ЕСЛИ конечная СУБД "может неправильно" произвести неявное пробразование типов. Вы всё же АТЛАНТИСовцы, а не 1С-ники, где все типы равны и все ошибки вылезут только при исполнении. У вас же есть типизация переменных! ..поэтому косяки типа "тип не угадали" - не рулят Ну чё уж такое то в эфир выпускать - я всё ещё считаю, Вас, профи... :)