Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Пути преобразования типов неисповедимы / 8 сообщений из 8, страница 1 из 1
21.11.2019, 20:08
    #39892570
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пути преобразования типов неисповедимы
Делаю так:
Код: sql
1.
2.
3.
4.
create table t(a integer);
insert into t values(1);
set bind of integer to boolean;
select * from t;


Получаю:
A
=======
Statement failed, SQLSTATE = 22018
conversion error from string "1"

Вопросы почему оно не преобразовывает целое в булево или почему позволило мне установить
такое отображение - оставим за кадром. Но откуда, во имя всех святых, там вылез
"string"???
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
21.11.2019, 21:04
    #39892582
Старый плюшевый мишка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пути преобразования типов неисповедимы
Dimitry Sibiryakov

Делаю так:
Код: sql
1.
2.
3.
4.
create table t(a integer);
insert into t values(1);
set bind of integer to boolean;
select * from t;


Получаю:
A
=======
Statement failed, SQLSTATE = 22018
conversion error from string "1"


Вопросы почему оно не преобразовывает целое в булево или почему позволило мне установить
такое отображение - оставим за кадром. Но откуда, во имя всех святых, там вылез
"string"???


Патамушта оно все типы преобразует в булевы через string, не?
...
Рейтинг: 0 / 0
21.11.2019, 21:12
    #39892584
Vlad F
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пути преобразования типов неисповедимы
Старый плюшевый мишка,

Какая крепкая у разработчиков ентого "оно" была тогда трава, однако.))
...
Рейтинг: 0 / 0
21.11.2019, 21:26
    #39892588
Vlad F
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пути преобразования типов неисповедимы
'Тогда" в том смысле, если высказанная гипотеза верна.)))
...
Рейтинг: 0 / 0
21.11.2019, 23:10
    #39892601
Старый плюшевый мишка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пути преобразования типов неисповедимы
Vlad F
Старый плюшевый мишка,

Какая крепкая у разработчиков ентого "оно" была тогда трава, однако.))
'Тогда" в том смысле, если высказанная гипотеза верна.)))


Пардон муа, а пуркуа бы, собсно, и не па? Разумеется, я не заглядывал в исподники. Но чиста теоретицки - string наиболее близок к нативному низкоуровневому представлению данных - одномерному массиву байт, просто области памяти. А для всяких там нумериков разных прецижионов вообще приведение к единому типу через промежуточные стринги - ну просто сам бог велел. Может не самый быстрый вариант, но самый простой и поддержаный библиотеками. А если таковая методика применяется, то чего изобретать велосипеды, а не применять её везде, пусть безобразно, но единообразно.

Впрочем, с моей стороны это просто извержение благоглупостей в мировой эфир. Я сегодня наконец-то слегка подшофе :) Щас в пятнице отпишусь.
...
Рейтинг: 0 / 0
22.11.2019, 08:42
    #39892658
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пути преобразования типов неисповедимы
Dimitry Sibiryakov,

bind тут не причём

Код: sql
1.
2.
select cast(1 as boolean)
from rdb$database



Код: plaintext
1.
Overflow occurred during data type conversion.
conversion error from string "1".

спроси Адриано почему он нормальную ошибку не выдал.

Dimitry SibiryakovВопросы почему оно не преобразовывает целое в булево или почему позволило мне установить
такое отображение - оставим за кадром.

я надеюсь Пешков введёт дополнительные ограничения. Ибо написанное не имеет никакого смысла, а значит должно ругаться ещё на этапе парсинга.

СПМПатамушта оно все типы преобразует в булевы через string, не?

не совсем. Допустимы только преобразование BOOLEAN <-> VAR[CHAR].
...
Рейтинг: 0 / 0
22.11.2019, 12:45
    #39892809
Arioch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пути преобразования типов неисповедимы
Симонов Денис
Допустимы только преобразование BOOLEAN <-> VAR[CHAR].


ну так - получив это требование движок задумался "а могу ли я получить из 1 (integer) нужный мне тип VarChar - и смог

произошло примерно следующее:

create table t (a varchar(10));
insert into t values ( 1 );

попытка впихнуть integer в varchar с автоматическим преобразованием типов
...
Рейтинг: 0 / 0
22.11.2019, 12:49
    #39892814
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пути преобразования типов неисповедимы
Arioch,

а давай не будем гадать. Дима уже спросил об этом у кого надо
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Пути преобразования типов неисповедимы / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]