Страница 1 из 1

преобразование типов

Добавлено: 30 авг 2016, 16:04
novichok
Подскажите, пожалуста, -в supporte
sql select max(cast(katmc.barkod as integer)) приводит к переполнению типа,
sql select max(cast(katmc.barkod as numeric)) пишет "неверный тип",
а как тогда? :-(

Re: преобразование типов

Добавлено: 30 авг 2016, 21:03
edward_K
integer больно мало 32 штуки с копейками. Int64? longint , comp - влом запускать 8)

Re: преобразование типов

Добавлено: 31 авг 2016, 10:31
novichok
edward_K писал(а):integer больно мало 32 штуки с копейками. Int64? longint , comp - влом запускать 8)
Int64 - пишет "неверный тип", longint - "переполнение", comp - результат получается в 16-ричном виде. А мне надо в десятичном. Как тогда его в supporte в десятичный вид перевести?

Re: преобразование типов

Добавлено: 31 авг 2016, 11:03
edward_K
не пробовал в DSQL. Так то просто string(). Попробуйте CAST в string накрутить еще max. Доку почитайте - там есть какие то функции преобразования.

Re: преобразование типов

Добавлено: 31 авг 2016, 11:30
Den
Можно попробовать к double 8байтовому привести

Код: Выделить всё

sql select max(cast(katmc.barkod as double)) from katmc;
Только len katmc.barkod по структуре БД = 30 (+ еще символы могут быть не только цифровые), а целочисленные типы в Гал max 8байтовые.
Но если вы уверены что у вас "в меру" большие katmc.barkod может и прокатит.