Oracle
 sql >> база данни >  >> RDS >> Oracle

Ограничение на Oracle за заявка след стойността на search_condition

Изменете втората половина на вашата клауза WHERE, както следва

SUBSTR(search_condition, 1, 21) = 'whatever you're after'

search_condition е ДЪЛЪГ тип данни и това по-скоро ограничава какво можете да правите с него. последният параметър на SUBSTR дава дължината на върнатия низ, така че го коригирайте според нуждите.

Променено, тъй като бях забравил ограничението за WHERE клаузите, основно създайте PL/SQL функция, за да направите горното и я използвайте във вашата WHERE клауза,

Например

FUNCTION get_long_16(pFormID NUMBER, pSectionItemID NUMBER, pSequence NUMBER)
  RETURN VARCHAR2
  AS
          l_data LONG;
  BEGIN
      SELECT far.text_answer
        INTO l_data
        FROM form_answers_repeating far
       WHERE far.form_id = pFormID
         AND far.section_item_id = pSectionItemID
         AND far.sequence = pSequence;

      RETURN SUBSTR(l_data, 1, 16);
  END;

Както се използва тук...



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ORA-00911:невалиден знак

  2. Как да потвърдите датата ГГГГММДД, дадена като параметър PL/SQL

  3. Свържете се с Oracle DB с помощта на ODBC

  4. Oracle Database 21c

  5. Не е намерен подходящ драйвер за jdbc:oracle:thin:@localhost:1521:XE при стартиране на уеб приложение