sql >> Database teknologi >  >> RDS >> Oracle

Oracle Stored Procedure-forespørgsel som ikke at arbejde med markøren

Du bruger unødvendige citater:

SQL> declare
  2      mat_id        varchar2(100) := 'X';
  3      searchString  varchar2(100) := ''''||mat_id||'%''';
  4      searchString2 varchar2(100) := ''||mat_id||'%';
  5      num number;
  6  begin
  7      select count(1)
  8      into num
  9      from dual
 10      where 'X' like searchString;
 11      --
 12      dbms_output.put_line('1. num= ' || num);
 13      --
 14      select count(1)
 15      into num
 16      from dual
 17      where 'X' like searchString2;
 18      --
 19      dbms_output.put_line('2. num= ' || num);
 20  end;
 21  /
1. num= 0
2. num= 1

PL/SQL procedure successfully completed.

SQL>

Din dobbelte anførselstegn kunne være nyttig, hvis du ville bruge en dynamisk SQL, men i din statiske forespørgsel betyder det, at du leder efter et mønster, der indeholder anførselstegn som en del af strengen, du skal kigge efter.



  1. Hvordan erklærer man en variabel i MySQL?

  2. Hvordan får man værdien af ​​BIT(...) datatypekolonner i binær form?

  3. Sådan implementerer du nemt TimescaleDB

  4. SQL Antal rækker