powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / (IBEBLOCK)Неявное преобразование типов при объединении
8 сообщений из 8, страница 1 из 1
(IBEBLOCK)Неявное преобразование типов при объединении
    #39733501
RazBoyNik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
EXECUTE IBEBLOCK --
RETURNS(S VARCHAR(255))
    AS --
DECLARE VARIABLE TMP FLOAT = 0.125412;
DECLARE VARIABLE R VARCHAR(255);
BEGIN --
  S = 'CURRENT_USER="' || RDB$GET_CONTEXT('SYSTEM', 'CURRENT_USER') || '" TMP=' || TMP;
  SUSPEND;

  R = RDB$GET_CONTEXT('SYSTEM', 'CURRENT_USER');
  S = 'CURRENT_USER="' || R || '" TMP=' || TMP;
  SUSPEND;
END


авторCURRENT_USER="SYSDBA" TMP=0.12541200
CURRENT_USER="SYSDBA" TMP=0,125412
Не знаю как правильно, но EXECUTE BLOCK:
авторCURRENT_USER="SYSDBA" TMP=0.12541200
CURRENT_USER="SYSDBA" TMP=0.12541200

Попутно.
Случайно заметил, но если
- включить View/ Autohide BD Explorer
- перейти на Scripts/ Blocks или Events log
- дать панели "скрыться" (Например, перейдя в SQL Editor)
обратно, без отключения Autohide, на нее не вернуться(постоянно прячется :) ) .
...
Рейтинг: 0 / 0
(IBEBLOCK)Неявное преобразование типов при объединении
    #39733613
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RazBoyNikавторCURRENT_USER="SYSDBA" TMP=0.12541200
CURRENT_USER="SYSDBA" TMP=0,125412


В первом случае выражение целиком на сервере вычисляется (из-за присутствия в нем RDB$GET_CONTEXT), во втором конкатенация на клиенте происходит. Отсюда и разный результат. Это не баг, цели производить вычисления в точности как сервер не было и нет.

С Autohide разберусь.
...
Рейтинг: 0 / 0
(IBEBLOCK)Неявное преобразование типов при объединении
    #39733623
RazBoyNik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо!
Буду явно преобразовывать. Или специально в строку включать UDF, эдакий "лайфхак" :)
...
Рейтинг: 0 / 0
(IBEBLOCK)Неявное преобразование типов при объединении
    #39733648
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RazBoyNikБуду явно преобразовывать. Или специально в строку включать UDF, эдакий "лайфхак" :)

Для форматирования ibec_Format есть.
...
Рейтинг: 0 / 0
(IBEBLOCK)Неявное преобразование типов при объединении
    #39733704
RazBoyNik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В примере к ней есть такое:
Код: sql
1.
Mes = ibec_Format('There are now s', 1000, 'MYTABLE');


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

Еще вариант, ХП под это дело залепить. В таком случае вся работа падает на сервер.
...
Рейтинг: 0 / 0
(IBEBLOCK)Неявное преобразование типов при объединении
    #39733737
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RazBoyNikВ примере к ней есть такое:
Код: sql
1.
Mes = ibec_Format('There are now s', 1000, 'MYTABLE');



Это бред какой-то... Где это?

Вот так, например, это может выглядеть:

Код: sql
1.
Mes = ibec_Format('There are now %d %s', 1000, 'table(s)');



И результат: There are now 1000 table(s)
...
Рейтинг: 0 / 0
(IBEBLOCK)Неявное преобразование типов при объединении
    #39733771
RazBoyNik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тут:
http://www.ibexpert.net/ibe/index.php?n=Doc.IbecFormat

С таким вариантом понятно.
Но у меня оч.длинная строка, нужно следить что за чем...
И разбивать на подстроки как-то не очень хочется.
Ну то уже выбор каждого.

Спасибо!
...
Рейтинг: 0 / 0
(IBEBLOCK)Неявное преобразование типов при объединении
    #39733850
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RazBoyNikНо у меня оч.длинная строка, нужно следить что за чем...


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


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