Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / С чем связана такая дискриминация BOOLEAN? / 24 сообщений из 24, страница 1 из 1
24.03.2016, 10:23
    #39199334
afgm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С чем связана такая дискриминация BOOLEAN?
Все условно-неявные конвертации выполняются отлично. Кроме boolean.
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
select '' || cast( 1 as SMALLINT ) from rdb$database;
select '' || cast( 1 as INTEGER ) from rdb$database;
select '' || cast( 1 as BIGINT ) from rdb$database;
select '' || cast( TRUE as BOOLEAN ) from rdb$database; -- Overflow occurred during data type conversion.
                                                        -- conversion error from string "BOOLEAN".
select '' || cast( 1.1 as FLOAT ) from rdb$database;
select '' || cast( 1.1 as DOUBLE PRECISION ) from rdb$database;
select '' || cast( 1.1 as NUMERIC(3,3) ) from rdb$database;
select '' || cast( 1.1 as DECIMAL(3,3) ) from rdb$database;
select '' || cast( '2015-01-01' as DATE ) from rdb$database;
select '' || cast( '10:51:59' as TIME ) from rdb$database;
select '' || cast( '2015-01-01 10:51:59' as TIMESTAMP ) from rdb$database;
select '' || cast( 'char text' as CHAR(20) ) from rdb$database;
select '' || cast( 'varchar text' as VARCHAR(20) ) from rdb$database;
select '' || cast( 'blob text' as BLOB ) from rdb$database;


А вот так нормально:
Код: sql
1.
select cast( TRUE as varchar(20) ) from rdb$database;
...
Рейтинг: 0 / 0
24.03.2016, 12:20
    #39199507
dimitr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С чем связана такая дискриминация BOOLEAN?
я не уверен, что в реальной жизни кому-то нужно делать CAST(TRUE AS BOOLEAN). Но можешь попробовать занести в трекер.
...
Рейтинг: 0 / 0
24.03.2016, 13:18
    #39199622
afgm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С чем связана такая дискриминация BOOLEAN?
dimitrя не уверен, что в реальной жизни кому-то нужно делать CAST(TRUE AS BOOLEAN). Но можешь попробовать занести в трекер.
Тут для того, что бы не было вопросов по поводу типа. ''||TRUE тоже не пашет.
CORE-5167
...
Рейтинг: 0 / 0
29.03.2016, 15:38
    #39203327
afgm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С чем связана такая дискриминация BOOLEAN?
Адриано закрыл таки с формулировкой: "Boolean is not implicit convertable to string, so it should not work with concatenation."
Так и не понял почему. Ну он мудрей, ему видней.
...
Рейтинг: 0 / 0
29.03.2016, 18:46
    #39203559
dimitr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С чем связана такая дискриминация BOOLEAN?
патамучта он так решил :-) Давным-давно, насколько я помню. И это даже обсуждалось. Если есть желание поспорить - пишите в трекер аргументы. Лучше ссылки на стандарт и на другие СУБД.
...
Рейтинг: 0 / 0
29.03.2016, 18:56
    #39203574
MaratIsk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С чем связана такая дискриминация BOOLEAN?
afgm,

потому что число, строка, дата - материальные сущности и имеют конкретное отражение
а boolean - понятийное явление - правда/неправда, 0/1 и отражается опосредованно - словами или числами
...
Рейтинг: 0 / 0
30.03.2016, 12:04
    #39203984
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С чем связана такая дискриминация BOOLEAN?
Hello, Maratisk!
You wrote on 30 марта 2016 г. 12:04:29:

Maratisk> а boolean - понятийное явлениене нужно отсебятины.
есть стандарт.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
30.03.2016, 14:49
    #39204207
MaratIsk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С чем связана такая дискриминация BOOLEAN?
Модератор: Предупреждение.

И кстати, рассказывать, что число, строка и дата имеет материальное отражение, а boolean нет - это в ветку "Юмор". Там оценят.
Хех, материальное.
...
Рейтинг: 0 / 0
30.03.2016, 15:49
    #39204276
afgm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С чем связана такая дискриминация BOOLEAN?
dimitrЛучше ссылки на стандарт и на другие СУБД.
Как мог ответил. Про СУБД не стал. Из других СУБД только PG, там всё склеивается. MSSQL только битовый тип. MySql как ориентир.... сомнительно. Оракла под рукой нет.
...
Рейтинг: 0 / 0
30.03.2016, 16:01
    #39204286
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С чем связана такая дискриминация BOOLEAN?
Hello, Afgm!
You wrote on 30 марта 2016 г. 16:00:03:

Afgm> Оракла под рукой нет.у Оракла тру-булеан есть только в PL-SQL.
в чистом SQL его нет.
(правда, за новые версии не уверен)

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
30.03.2016, 16:10
    #39204298
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С чем связана такая дискриминация BOOLEAN?
Мимопроходящий,

https://docs.oracle.com/javadb/10.8.3.0/ref/rrefsqlj33562.html
A BOOLEAN value can be cast explicitly to any of the string types. The result is 'true', 'false', or null. Conversely, string types can be cast to BOOLEAN.

Впрочем, лично я вижу смысл в конвертации boolean в строку только для англоязычных пользователей. Ну или для импорта/экспорта данных, которые содержат true/false в строковом виде.
...
Рейтинг: 0 / 0
30.03.2016, 16:20
    #39204314
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С чем связана такая дискриминация BOOLEAN?
Hello, Kdv!
You wrote on 30 марта 2016 г. 16:19:14:

Kdv> https://docs.oracle.com/ javadb/10.8.3.0/ref/rrefsqlj33562.html
Дмитрий, ну ЁКЛМН!
ты всё ж таки смотри куда пальцем тыкаешь...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
30.03.2016, 16:34
    #39204328
afgm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С чем связана такая дискриминация BOOLEAN?
Не убедил я Адриано.
Всегда воспринимал || как избавление от нагромождения cast-ов к varchar-ам с размерами при склейке строк. Там и coalesce есть где пописать.
Вот в MSSQL достаёт порой. Благо в 2012 таки ввели функцию concat.
...
Рейтинг: 0 / 0
30.03.2016, 16:45
    #39204342
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С чем связана такая дискриминация BOOLEAN?
Мимопроходящийты всё ж таки смотри куда пальцем тыкаешь...
я уже потом javadb в ссылке углядел. Тем не менее - Оракл? Оракл. Каст boolean в строку есть? Есть. :-)

Собственно, я не понимаю, чего Адриано так убивается по этому поводу. Либо это пуризм, либо нет согласия в стане СУБД.
...
Рейтинг: 0 / 0
30.03.2016, 17:01
    #39204352
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С чем связана такая дискриминация BOOLEAN?
Hello, Kdv!
You wrote on 30 марта 2016 г. 16:51:39:

Kdv> я уже потом javadb в ссылке углядел. Тем не менее - Оракл? Оракл. не всё то оракал шо рождено от жабы ;)
но как тынц в сторону Адриано таки наверное прокатит,
ибо поциент был замечен в злоупотреблении жабой.
Kdv> Собственно, я не понимаю, чего Адриано так убивается по этому поводу.
> Либо это пуризм, либо нет согласия в стане СУБД.это не пуризм.
это сильно затянувшийся пубертатный период...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
30.03.2016, 18:53
    #39204473
Arioch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С чем связана такая дискриминация BOOLEAN?
afgm Оракла под рукой нет.

есть!

http://sqlfiddle.com/
...
Рейтинг: 0 / 0
30.03.2016, 18:58
    #39204479
Arioch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С чем связана такая дискриминация BOOLEAN?
kdvсмысл в конвертации boolean в строку только для англоязычных пользователей.

вот с этим я лично тоже согласен

нужно перекодирование зависящее от языка соединения, например.
или от языка запроса

cast (boolean_column as varchar(10) collate xyz)

есть ли такое готовое в ICU - хз
если нет, то готовить переводы для всех языков силами FB team - стрёмно

Сделать настройку через RDB$SET_CONTEXT ? так не сохраняется....

----------

но с дргой стороны, при преоразовании в строку/из строки дат, времени и дробных чисел - ведь никто не учитывает языки, наоборот все ориентируются на какой-то древний времен Groton американский стандарт, и не жужжат, привыкли
...
Рейтинг: 0 / 0
30.03.2016, 19:17
    #39204493
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С чем связана такая дискриминация BOOLEAN?
Ariochесть ли такое готовое в ICU - хз
ты опять покурил? :-) какой, нафиг, словарь в icu?
Ariochесли нет, то готовить переводы для всех языков силами FB team - стрёмно
госсподи... какие еще переводы...

select cast(1 as varchar(20))
'адын'
так, что-ли? :-)
...
Рейтинг: 0 / 0
30.03.2016, 19:44
    #39204513
afgm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С чем связана такая дискриминация BOOLEAN?
Ariochесть!

http://sqlfiddle.com/
Давно пробовал? Я не дождался ответа от сервера :)
Единственное, что нашёл http://sqlzoo.net/
...
Рейтинг: 0 / 0
30.03.2016, 20:27
    #39204527
Arioch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С чем связана такая дискриминация BOOLEAN?
kdv,

прочитированное - было конкретно про boolean
...
Рейтинг: 0 / 0
30.03.2016, 20:31
    #39204529
Arioch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С чем связана такая дискриминация BOOLEAN?
kdv,

а вообще - хочется то ли нкруитсья ,то ли напиться, хреновый был день сегодня и суматошный.

но это, если ты меня замечаешь по запаху - статью уже поправь наконец

18974399
...
Рейтинг: 0 / 0
30.03.2016, 20:45
    #39204540
DarkMaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С чем связана такая дискриминация BOOLEAN?
Arioch,

Присоединяюсь. Меня тоже немцы з... мучили вконец. Где встречаемся?
...
Рейтинг: 0 / 0
31.03.2016, 11:26
    #39204892
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С чем связана такая дискриминация BOOLEAN?
Hello, Arioch!
You wrote on 31 марта 2016 г. 11:15:01:

Arioch> нужно перекодирование зависящее от языка соединения, например.
> или от языка запроса
>
> cast (boolean_column as varchar(10) collate xyz)
предлагаю еврейский вариант:
Код: sql
1.
2.
cast (TRUE as varchar(10) collate ISO8859_8_RU) == 'таки да, а шо?'
cast (FALSE as varchar(10) collate ISO8859_8_RU) == 'не, ну а шо?'


Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
31.03.2016, 13:07
    #39205037
WildSery
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С чем связана такая дискриминация BOOLEAN?
Мимопроходящий,

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


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