Гость
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Не выполняется условие сравнения переменных / 9 сообщений из 9, страница 1 из 1
23.01.2020, 19:11
    #39918064
very_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не выполняется условие сравнения переменных
Привет!
есть функция, которая возвращает собранную строку, к примеру:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
declare
  CLSTVAL varchar2(2048);
  CTMPVAL varchar2(2048);
begin
  for i in 1..10 loop
    CTMPVAL := 'string'||to_char(i);
    CLSTVAL := CLSTVAL||DBASE.IIF(CLSTVAL IS NULL,'',',')||chr(39)||CTMPVAL||chr(39);
    if 'string1' = CLSTVAL then
      dbms_output.put_line('###'||CLSTVAL);
    end if;  
  end loop;
end; 


если собираемые значения chr(39)||CTMPVAL||chr(39) оборачивать в кавычки, то не срабатывает условие сравнения if 'string1' = CLSTVAL then
без кавычек CTMPVAL - условие if 'string1' = CLSTVAL then выполняется, но при этом я получу не корректную строку значений. Вместо 'string1','string2' ... будет string1,string2...
Помогите разобраться и исправить данную проблему!?
...
Рейтинг: 0 / 0
23.01.2020, 19:20
    #39918071
проходил мимо...
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не выполняется условие сравнения переменных
very_,

Код: plsql
1.
'''string1'''
...
Рейтинг: 0 / 0
23.01.2020, 19:26
    #39918077
very_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не выполняется условие сравнения переменных
вот именно что значение для сравнения приходит в таком виде 'string1' преобразовать его в '''string1''' я не могу
...
Рейтинг: 0 / 0
23.01.2020, 19:41
    #39918081
проходил мимо...
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не выполняется условие сравнения переменных
very_,

с**а, до слёз...
...
Рейтинг: 0 / 0
23.01.2020, 19:49
    #39918082
very_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не выполняется условие сравнения переменных
проходил мимо..., происходит автогенерация функции по этой причине и нет возможности
...
Рейтинг: 0 / 0
23.01.2020, 19:54
    #39918083
проходил мимо...
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не выполняется условие сравнения переменных
very_,

Воспользуюсь, пожалуй, рекомендациями Elic'а
https://bugtraq.ru/forum/faq/general/smart-questions.html] RTFM
...
Рейтинг: 0 / 0
23.01.2020, 20:00
    #39918084
SY
SY
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не выполняется условие сравнения переменных
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
declare
    CLSTVAL varchar2(2048);
    CTMPVAL varchar2(2048);
    DELIMITER varchar2(1);
begin
    for i in 1..10 loop
      CTMPVAL := 'string'||to_char(i);
      CLSTVAL := CLSTVAL || DELIMITER || CTMPVAL;
      if 'string1' = CLSTVAL
        then
          dbms_output.put_line('###' || CLSTVAL);
      end if;
      DELIMITER := ',';
    end loop;
end;
/
###string1

PL/SQL procedure successfully completed.

SQL>



SY.
...
Рейтинг: 0 / 0
24.01.2020, 07:26
    #39918171
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не выполняется условие сравнения переменных
very_
Помогите разобраться и исправить данную проблему!?
http://www.bugtraq.ru/forum/faq/general/smart-questions.html] RTFM
...
Рейтинг: 0 / 0
24.01.2020, 10:01
    #39918216
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не выполняется условие сравнения переменных
SY,

імхо, very_ хочет в CLSTVAL получить
'string1','string2','string3','string4','string5','string6','string7','string8','string9','string10'

поетому

22065491

if '''string1''' = CLSTVAL then

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


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