Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Получить длину значения строкового поля  [new]
George-III
Member

Откуда:
Сообщений: 3689
Клиент Access, делаю запрос через ODBC к серверу, необходимо на сервере выполнить инструкцию и получить длину одного строкового поля.
SELECT Length(strfield1) Lenstr FROM Table
Почему-то возвращается ошибка:
Недопустимая точность для типа данных Decimal
Аналогичное сообщение, если пытаюсь обрезать лишние пробелы в начале и конце строки
Подскажите что делать?
25 окт 07, 12:37    [4837954]     Ответить | Цитировать Сообщить модератору
 Re: Получить длину значения строкового поля  [new]
TiG
Member

Откуда:
Сообщений: 780
Либо на клиенте использовать правильный тип данных для этой колонки. Либо в запросе приводить через cast к типу, который клиент понимает. Правильнее - первое.
25 окт 07, 13:43    [4838540]     Ответить | Цитировать Сообщить модератору
 Re: Получить длину значения строкового поля  [new]
George-III
Member

Откуда:
Сообщений: 3689
TiG
Либо на клиенте использовать правильный тип данных для этой колонки. Либо в запросе приводить через cast к типу, который клиент понимает. Правильнее - первое.

Весь запрос должен выполняться на сервере, для меня подходит второй вариант, Вас не затруднит привести пример использования функции cast для сервера для преобразования к типу Integer?
25 окт 07, 14:29    [4839062]     Ответить | Цитировать Сообщить модератору
 Re: Получить длину значения строкового поля  [new]
George-III
Member

Откуда:
Сообщений: 3689
Или даже Byte, так как максимальное число символов <=50
25 окт 07, 14:30    [4839078]     Ответить | Цитировать Сообщить модератору
 Re: Получить длину значения строкового поля  [new]
TiG
Member

Откуда:
Сообщений: 780
George-III
TiG
Либо на клиенте использовать правильный тип данных для этой колонки. Либо в запросе приводить через cast к типу, который клиент понимает. Правильнее - первое.

Весь запрос должен выполняться на сервере, для меня подходит второй вариант, Вас не затруднит привести пример использования функции cast для сервера для преобразования к типу Integer?
Он и так будет "выполняться на сервере". Некорректная работа с типами - проблема клиентского приложения.
В любом случае, учитесь читать доки
26 окт 07, 10:43    [4842896]     Ответить | Цитировать Сообщить модератору
 Re: Получить длину значения строкового поля  [new]
Daf
Member

Откуда: Москва
Сообщений: 1916
Можно попробовать в место "Oracle in OraHome..." драйвер от Microsofta "Microsoft ODBC for Oracle" в настройках подключения ODBC.
26 окт 07, 12:22    [4843563]     Ответить | Цитировать Сообщить модератору
 Re: Получить длину значения строкового поля  [new]
George-III
Member

Откуда:
Сообщений: 3689
Всем огромное спасибо за участие, оказалось все дело не в драйвере и не в точности, оказывается обязательно для вычисляемых полей необходимо вводить псевдоним
AS ...
, в противном случае возвращается вышеупомянутая ошибка!
26 окт 07, 13:31    [4844089]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить