Generation of single quotes in strings

Version: 11.2.0.3

We have a custom stored procedure called GENERATE_STATS and I want to run this procedure for each schema in the comic book as

exec ('SCOTT', 'BASIC') generate_stats;

generate_stats exec ('HR', 'BASIC');

.

.

.

.

exec ('XXXXXX', 'BASIC') generate_stats;

-All except XXXXXX is fixed.

-XXXX is derived rom DBA_USERS

I want to generate these commands dynamically as

SQL > SELECT ' exec generate_stats ("' | username |) (', "'BASIC"); from dba_users;

ERROR:

ORA-01756: city not properly finished chain

-I noticed that, to generate a single quotation mark, you need 4 quotes

SQL > select "' double.

'

-

'

SQL > select "',"' double.

'''

---

','

-I managed to create so far without much trouble.

SQL > SELECT ' exec generate_stats ("' | username |) "',"' from dba_users where rownum < 5;

' EXECGENERATE_STATS('''||) USER NAME | " ','' '

--------------------------------------------------------

generate_stats exec ("SYS"

exec generate_stats ("SYSTEM",")

exec generate_stats ('OUTLN', ')

generate_stats exec ('DIP', ')

It took a lot of trial and error to add the remaining portiton BASIC'); to added. The following finally worked.

SQL > SELECT ' exec generate_stats ("' | username |) (', "BASIC");' from dba_users where rownum < 5;

' EXECGENERATE_STATS('''||) USER NAME | " (', "BASIC"); "

----------------------------------------------------------------

generate_stats exec ('SYS', 'BASIC');

exec ('SYSTEM', 'BASIC') generate_stats;

generate_stats exec ('OUTLN', 'BASIC');

exec ('DIVE', 'BASIC') generate_stats;

To generate the string 'BASIC' . I didn't have to use single quotes 4 as I once did.

It generated when I placed between her with just two single quotes like that "BASIC");'

There are a few basic rules I should keep in mind when you try to generate strings with single quotes?

Hello

In a string literal, single quotes normally indicate the beginning or the end of the literal.

If you want to specify a single quote, is to use 2 consecutive single quotes in the literal.  For example, the name of 9 characters O'Higgins could be written in a literal string like this

'O' Higgins

ICT that there are 4 single quotes above: 1 to indicate the beginning of the literal string, 2 to represent a single quotation mark in the literal and 1 at the end of the literal.

If you want a string of characters-1 that contains only a single quote, and then, as you noticed, it was released as 4 of them in a row

''''

If you want to represent the 12 string

","BASIC");"

in a string literal, then you have to put everything in a pair of simple and douuble quotes all quotes that occur in the sting, like this:

(', "BASIC"); "

When you asked if there was a rule of THUMB , you were doing a play on words?

There is a rule of practice. When you use this type of string literal, single quotes always occur in pairs.  You always need a pair to mark the beginning and the end of the literal.  For each single quote representation, you need a pair.  If the string that represents the 12 above string literal contains 4 pairs of single quotes.  I'll write this liteal once again, with the numbers in pairs:

(', "BASIC"); "

122 33 44 1

1 pair surrounds the literal; pairs of 2, 3 and 4 represent single quotes in the literal.

If ever you have an odd number of single quotes using this notation, then you know that something is wrong.

It is the older way of the use of single quotes in the string literal.  From Oracle 10, you have the possibility to use Q-notaation as well:

Q'<', 'basic');="">'

When you use Q-rating, you can have literals well trained with an odd number of single quotes.  The literal above happens to have 5, 2 that surround the literal.

See the manual of the SQL language for more info on Q-rating:

Literals

Tags: Database

Similar Questions

  • Dynamic processing of single quotes in SQL

    Version: 11.2.0.4

    I'm kinda a beginner when it comes to dynamic SQL.

    I had a condition in which I had to run the following command on all the data files in the DB.

    -Expected results

    change datafile resizing '< Filename >' database 10g;

    The name of file, which is generated dynamically must be in single quotes.

    -Sample data

    create table x (file_name varchar2 (90));

    Insert into x values ('/ u04/oradata/ORCL/system.dbf');

    Insert into x values ('/ u04/oradata/ORCL/sysaux.dbf');

    Insert into x values ('/ u04/oradata/ORCL/users01.dbf');

    I managed to do it using a similair below code. But I had to do several things of trial and error to get this working in reason to get the correct number of single quotes for the string generated for v_sql below. So, I want to rethink the basics.

    declare

    v_sql varchar2 (350);

    Start

    for rec in (select x file_name)

    loop

    v_sql: = "alter database datafile"'| " Rec.file_name | " 'resize 10g;

    -RUN IMMEDIATELY v_sql;

    dbms_output.put_line (v_sql);

    end loop;

    end;

    /

    ALTER database datafile ' / u04/oradata/ORCL/system.dbf' size 10g

    ALTER database datafile ' / u04/oradata/ORCL/sysaux.dbf' size 10g

    ALTER database datafile ' / u04/oradata/ORCL/users01.dbf' size 10g

    PL/SQL procedure successfully completed.

    I would like to know the role played by each single quote. I used 8 apostrophes in the V_SQL variable above, and I numbered each single quotation mark as shown below.

    1                        234                 567           8

    |                        |||                 |||           |

    v_sql: = "alter database datafile"'| " Rec.file_name | " 'resize 10g;

    Example of output from the generation of dynamic channels:

    alter database datafile '/u04/oradata/ORCL/users01.dbf' 10g resizing

    1 and 4-> start and end of the string alter database datafile '

    3 > literal single quote of string in red in the example output

    2 > escape 3 (single literal quote of string)

    5 and 8-> start and end of the string ' resize 10 g

    6-> escape 7 (single literal quote of string)

    7 > literal single quote of string in green in the example output

    My asssumptions are correct?

    I would like to write like this.

    declare
       v_sql    varchar2(350);
    begin
      for rec in (select file_name from x)
          loop
            v_sql := q'[alter database datafile '#FILENAME#' resize 10g]';
            v_sql := replace(v_sql, '#FILENAME#', rec.file_name);
            --- EXECUTE IMMEDIATE v_sql;
            dbms_output.put_line ( v_sql);
        end loop;
    end;
    /
    
  • Display the string with single quote

    Hello..

    I have a doubt.

    Below the statement works very well to get the result in single quotes as 'Hello world'
       SELECT '''Hello World'''
       FROM dual;
    Now my question is why we get error when we try to do the same.

       SELECT ''Hello World''
       FROM dual;
    Please let me know the reason, if an organization is to have an idea.

    Thank you
    Suri

    To print a single quotation mark, use two single quotes (IE he "s to print from) and to print a string to write the string inside the single quotation mark as"Hello Word ".
    You want to print "Hello World" your sql will be

    SELECT '''Hello World'''
       FROM dual;
    

    You get the following error as search oracle of KEYWORD Analyzer after "that a chain is closed using the" quote

    SELECT ''Hello World''
       FROM dual;
    ORA-00923: FROM keyword not found where expected
    
  • help request pivot with single quotes inside a string literal

    Hi all

    I have a little trouble with a pivot query. Oracle (10g R2) is:

    ORA-00604: an error occurred at recursive SQL level1
    ORA-01003: no instruction not analyzed

    My problem is pretty clear. When I do a pivot query to display a list of records where the countries are the column headers and rows headers is months that the system hesitates when she returns a country with an apostrophe in it. for example

    COUNTRY_NAME = ' KOREA, DEMOCRATIC PEOPLE'S REPUBLIC OF»

    I know that I have to catch the literal single quote and manipulate. I am just having unsuccessfully in management of it and I'm a little out of ideas. Can someone tell me a nice solution?

    The complete procedure is listed below: the


    PROCEDURE getCountryInvPlan)
    iINV_PLAN_DEPOT_ID in NUMBERS
    iITEM IN VARCHAR2,
    RC IN OUT pkg_DMT_INV_PLAN.t_rc,
    oErrorMsg OUT VARCHAR2)
    IS
    v_sql VARCHAR2 (32767).
    BEGIN


    v_sql: = 'select MONTH_BUCKET ';
    FOR rec IN
    (select distinct (COUNTRY_NAME) in the DMT_INV_PLAN_DEPOT_COUNTRY where INV_PLAN_DEPOT_ID = iINV_PLAN_DEPOT_ID)
    LOOP
    v_sql: = v_sql
    || ', MAX (DECODE (COUNTRY_NAME, "'))
    || recomm. COUNTRY_NAME
    || ((', PATIENT_DEMAND)) ' "»
    || recomm. COUNTRY_NAME
    || '"';
    END LOOP;
    v_sql: = v_sql
    || ', ' DECODE(MONTH_CLOSED,0,''OPEN'',1,''CLOSED'') AS MONTH_STATUS
    || ' FROM (SELECT DMT_INV_PLAN_DEPOT_COUNTRY. MONTH_BUCKET, DMT_INV_PLAN_DEPOT_COUNTRY. COUNTRY_NAME, DMT_INV_PLAN_DEPOT_COUNTRY. PATIENT_DEMAND, DMT_INV_PLAN_ITEM. DMT_INV_PLAN_DEPOT_COUNTRY MONTH_CLOSED, DMT_INV_PLAN_ITEM '
    || "where DMT_INV_PLAN_DEPOT_COUNTRY.". INV_PLAN_DEPOT_ID = DMT_INV_PLAN_ITEM. INV_PLAN_DEPOT_ID '
    || ' AND DMT_INV_PLAN_DEPOT_COUNTRY. ITEM_DESCRIPTION = DMT_INV_PLAN_ITEM. ITEM_DESCRIPTION '
    || ' AND DMT_INV_PLAN_DEPOT_COUNTRY. MONTH_BUCKET = DMT_INV_PLAN_ITEM. MONTH_BUCKET '
    || ' AND DMT_INV_PLAN_DEPOT_COUNTRY. INV_PLAN_DEPOT_ID = ' | iINV_PLAN_DEPOT_ID
    || ' AND DMT_INV_PLAN_DEPOT_COUNTRY. ITEM_DESCRIPTION = "' | iITEM | " ') '
    || 'GROUP by MONTH_BUCKET order MONTH_BUCKET MONTH_CLOSED';
    RC OPEN FOR v_sql;

    oErrorMsg: = v_sql;

    EXCEPTION
    WHEN NO_DATA_FOUND
    THEN
    oErrorMsg: = "NO DATA FOUND";

    WHILE OTHERS
    THEN
    oErrorMsg: = "ERROR";
    oErrorMsg: = v_sql;
    END getCountryInvPlan;

    Maybe you can try this:

    -- Etc --
    || ',MAX(DECODE(COUNTRY_NAME,'''
    || REPLACE(rec.COUNTRY_NAME,'''','''''')
    || ''',PATIENT_DEMAND)) "'
    || rec.COUNTRY_NAME
    || '"';
    -- Etc --
    

    8 2

  • How to use special characters (single quote) in input values?

    I have a query that contains a clause: field: tags_set

    (the field contains string values)

    I would like to test in sqlplus.

    I found this article https://asktom.oracle.com/pls/apex/f?p=100:11:0:P11_QUESTION_ID:113012348062 explaining how to define variables in sqlplus.

    However, my variable should contain something like ("xyz", "abc")

    I tried

    SQL > tags_set varchar2 variable

    "SQL > exec: tags_set: = '(' musique');

    "START: tags_set: = '(' musique'); END;

    *

    ERROR on line 1:

    ORA-06550: line 1, column 23:

    PLS-00103: encountered the symbol "MUSIC" when expected in the following way:

    * & = - + ; <>/ is mod remains not rem

    < an exponent (*) > <>or! = or ~ = > = < = <>and like2 or

    like4 likec between | submultiset of type multiset Member

    The symbol ' * was inserted before 'MUSIC' to continue. '

    ;

    Then I did some research and found: characters in queries

    Therefore, I changed the previous for:

    SQL > exec: tags_set: = '(\'Music\')';

    START: tags_set: = '(\'Music\')'; END;

    *

    ERROR on line 1:

    ORA-06550: line 1, column 24:

    PLS-00103: encountered the symbol "MUSIC" when expected in the following way:

    * & = - + ; <>/ is mod remains not rem

    < an exponent (*) > <>or! = or ~ = > = < = <>and like2 or

    like4 likec between | submultiset of type multiset Member

    and finally

    SQL > exec: tags_set: = "{('a ')}";

    START: tags_set: = "{('a ')}"; END;

    *

    ERROR on line 1:

    ORA-06550: line 1, column 24:

    PLS-00103: encountered the symbol "A" when expecting one of the following conditions:

    * & = - + ; <>/ is mod remains not rem

    < an exponent (*) > <>or! = or ~ = > = < = <>and like2 or

    like4 likec between | submultiset of type multiset Member

    The symbol ' * was inserted before 'A' to continue. '

    What is the way to make it work? (I know that I can move to something like "xyz ~ abc' and treat inside the query")

    Thanks in advance.

    A number of things.  When you define a string variable, you must give him a length or default is 1.  You can escape a quote character by doubling it (i.e. two single quotes) or you can use the q rating:

    SQL > tags_set variable varchar2 (100);

    "SQL > exec: tags_set: = '('' musique '');

    PL/SQL procedure successfully completed.

    SQL > print tags_set

    TAGS_SET

    --------------------

    ("Music")

    SQL > exec: tags_set: = q '{("music", "Drama")}';

    PL/SQL procedure successfully completed.

    SQL > print tags_set

    TAGS_SET

    --------------------

    ("Music", "Drama")

    John

  • How to retrieve the values of character without using single quotes

    Hi all

    How to retrieve the values of character without the use of single quotes. Its Possible in Oracle SQL

    Please answer me...

    For example

    Is actual query-> Select * from employees where name like in("SCOTT", "JAMES", "ALBERT",...);

    I want to--> Select * from employees where name like(SCOTT, JAMES, ALBERT...); -without the use of single quotes.

    Why I need this application, I need to retrieve the records more than 200 employees in a select statement by using name in where clause.

    shagarmahabubjan wrote:

    Hi all

    How to retrieve the values of character without the use of single quotes. Its Possible in Oracle SQL

    Please answer me...

    For example

    Actual query is---> Select * from employees where name like in("SCOTT", "JAMES", "ALBERT",...);

    I want to---> Select * from employees where name like(SCOTT, JAMES, ALBERT...); -without the use of single quotes.

    Why I need this application, I need to retrieve the records more than 200 employees in a select statement by using name in where clause.

    In short... you can't.  The channels are channels, and SQL and PL languages dictate that the string literals are provided within single quotes.

    I don't see how trying to retrieve more than 200 records of employees in the select statement means that you must get rid of the quotes.

    Be clear in what you ask: Re: 2. How can I ask a question on the forums?

    and take note of the FAQ link davidp provided the solution "variable IN the list.

  • Another single quote issue

    11.2.0.3 on Solaris

    Came across this thread on apostrophe
    Escape the apostrophe

    Wouldn't it away as it seemed 'sacred' with neat frank explanations.

    I want to just Hello delimited by single quotes printed
    Expected results.
    'hello'
    SQL> select 'hello' from dual;
    
    'HELL
    -----
    hello
    
    
    Attempt1.
    SQL> select  ''hello'' from dual;
    select  ''hello'' from dual
                   *
    ERROR at line 1:
    ORA-00923: FROM keyword not found where expected
    
    
    Attemp2.
    SQL> select '''hello''' from dual;
    
    '''HELL
    -------
    'hello'
    Attempt2 has been successful. It was 3 quotes at the beginning and 3 quotes after the string "hello".
    I numbered each Attemp2 apostrophes (successfully)
    '''hello'''
    |||     |||
    123     456
    Can anyone tell me what role has first, second, third, fourth, fifth and sixth apostrophes play in this query (attempt 2)?

    Hello

    ExpansiveMind wrote:
    ... Attempt2 has been successful. It was 3 quotes at the beginning and 3 quotes after the string "hello".
    I numbered each Attemp2 apostrophes (successfully)

    '''hello'''
    |||     |||
    123     456
    

    Can anyone tell me what role has first, second, third, fourth, fifth and sixth apostrophes play in this query (attempt 2)?

    Reading from left to right:
    (1) an encounterred of single quote when you are not already in the string literal means the beginning of a string literal
    (2) a single quote once you've started a string literal could mean the end of the literal string, or (b) a single quote, depending on which is the next character. In this case, the next character is
    (3) if (2) and (3) together are considered a single quotation mark in the string.
    (4) is the same situation as (2), and
    (5) does exactly the same thing (3), so it's another example of option (b).
    (6) is not followed by an another single quote, so it's an example of option (a), end-of-literal.

    Forget not that (lack of Q-rating) single quotes must be in pairs. Quotation marks simple all odd will be the beginning of a literal (as in your example 1) or the second pair that indicates a single quotation mark in the literal (as 3 and 5). What pairs single quotes? Just a reflection of those odd. Each single quote pairs is to be will indicate the end of the literal (as in your example 6), or the beiginning of a pair that represents a single quote in the literal (as 2 and 4).

    It can help to address the problem in this way.
    If you want that the word 'Hello' surrounded by tildes, what would you do? No problem:

    SELECT  '~hello~'
    FROM    dual;
    

    Now how can you change the tilde first a single quotation mark? The tilde is inside a string literal, so you know that you must use single quotes in a row 2. Then remove the first tilde and, instead, put 2 single quotes:

    SELECT  '''hello~'
    FROM    dual;
    

    Now how can you change the tilde to a single quote? The same way, and what you get is

    SELECT  '''hello'''
    FROM    dual;
    
  • Unable to [out] the value of the parameter put_line with single quotes (apostrophe)

    Hello

    I want to store a common code in a sql file and where the different clauses as a parameter, so the structure is:

    Main.SQL Script:
    set m_sWhere = ' owner = "SCOTT" ';
    @MyReport.sql '& m_sWhere '.

    MyReport.sql
    OK: SELECT * FROM MyTable WHERE & 1
    ERR: dbms_output.put_line ('MyWhere: & 1');

    I am not able to print the where the clause. I already tried to set the where clause with other delimiters (e.g. #SCOTT #) and replace # by ' in the MyReport but failed as well.

    All advice welcome.

    Published by: netaktiv on 11.02.2012 08:35

    Hello

    netaktiv wrote:
    Hello

    I want to store a common code in a sql file and where the different clauses as a parameter, so the structure is:

    Main.SQL Script:
    set m_sWhere = ' owner = "SCOTT" ';
    @MyReport.sql '& m_sWhere '.

    Sorry; It is unclear what you are trying to do, and what you're doing.
    I think the only single-quoptes in m_swhere are those before and after SCOTT:

    DEFINE  m_sWhere = owner='SCOTT'
    

    That's what you need to be able to use this variable in an SQL statement. SQL * more will replace & 1 with its value. If you were typing the statement directly, just type a single before and after SCOTT quote, if you want only a single quote before and after SCOTT in m_swhere. You use 2 single quotes in a row inside string literals, but the string literal only you need here is the literal 5 characters 'SCOTT', containing sound ", a 'C', 'o', two ' t and single quotes to zero."

    MyReport.sql
    OK: SELECT * FROM MyTable WHERE & 1
    ERR: dbms_output.put_line ('MyWhere: &1');)

    I am not able to print the where the clause. I already tried to set the where clause with other delimiters (e.g. #SCOTT #) and replace # by ' in the MyReport but failed as well.

    You do not want channels OK: or ERR: in the script.
    Dmbs_output.put_line, like any procedure, only works in PL/SQL.
    If you want to display text in a SQL * more script, use the SQL * FASTER command, like this:

    PROMPT  MyWhere: &1
    

    If you really must use dbms_output.put_line, then you will need to use a string literal, and single quotes can be tricky.
    In Oracle 10 (and more) use Q-rating:

    BEGIN
        dbms_output.put_line ( Q'{MyWhere: &1}' );
    END;
    /
    

    {Quotes will not be a problem unless they occur immediately after a right '}'.

  • magic_quotes_off, now this with the single quote in the variables?

    Okay, so I turned off magic_quotes because they go far anyway. Broke one of my pages and the list of items in the table of database that is supposed to appear was not there. So, I opened the recordset on the page and deleted the apostrophes in the recordset object variables and all reappeared. That tells me I should open EVERY single game records on this site and remove the single quotes? Does that include digital as well as text?

    Thank you for your help.

    Brian

    Magic quotes were originally intended to help beginners (and we are all beginners at some point), but found to be murkier than they are worth. I have to admit that the whole quote, addslashes() and stripslashes() functions had confused me for a while, and I found myself with the backslashes in all directions. It's the partition:

    When you create a query SQL in PHP, it must be a string, it must be enclosed in quotes (single or double - is not serious). However, SQL queries must be enclosed in quotes in the text, and the text you type may also contain a mixture of single and double quotes. The idea of magic quotes is that it automatically inserts a backslash before each quotation mark in a string, which makes the single quotes or double in safe to put in a SQL query text. When you pull the text from the database, you use stripslashes() to get rid of the back-slash.

    The problem is that magic quotes can be disabled, so many books and tutorials tell you move your text to function addslashes() before putting the text in a database. If magic quotes are still on, you end up with two backslashes instead of one. Nightmare. That's why magic quotes are underway.

    Rather than use the addslashes() and stripslashes() functions, it is now recommended to use mysql_real_escape_string() or prepared statements. Given that Dreamweaver does not support prepared commands, I'll leave them out of this. Whenever you pass a variable to a SQL query in Dreamweaver, it passes through the GetSQLValueString() variable, which can detect if magic quotes are enabled. If they are, it will use stripslashes() to get rid of the back-slash; and then it passes variables to mysql_real_escape_string() prepare for insertion in the database. All your single and double quotes in the text are preserved and not a backslash in sight.

    The problem is that if you have a text that has been inserted by using magic quotes and/or functions addslashes(). The simple solution is to use stripslashes() to remove the backslashes in the text stored before you post or use it somehow.

    echo stripslashes($row_recordsetName['fieldName']);
    

    I hope that clarifies the situation and provides a solution. If this isn't the case, it may be necessary to purge your database of backslashes.

    The problem with magic quotes affects only text. Numeric fields are not affected.

  • Single quote

    Hello Experts,

    How you represent a single quotation mark (') in OBIEE?. Just to clarify, what I'm trying to do is to represent the single quote as a character in my report. Is there a hex function or any other thing that can be used?

    Thank you!.

    Pablo.

    Hey Pablo,.

    As in Oracle SQL, an apostrophe can be demonstrated by using two back-to-back apostrophes for example "will be held to a single quote.

    If you wanted this in a report, you will need four consecutive apostrophes, one for the opener of the channel, two for the single quote and one more for the string more closely.

    As a result, "'

    Good luck

    -Joe

  • To insert single quotes

    Hello
    All,

    Oracle 10.2.0.3
    AIX 5.3

    I have following the query

    Select 'ALTER DATABASE RENAME FILE ' | name | "To/ORACLE/u44/CMS | substr(Name,16) as move_datafile from v$ datafile where name like ' / u41% ';

    Now, I want to type ALTER DATABASE RENAME FILE with single quotes. In other words, I want to type the string with single quotes. How can I achieve this?

    Thank you
    Vishal
    select '''ALTER DATABASE RENAME FILE'''  from dual
    
    o/p: 'ALTER DATABASE RENAME FILE'
    
  • Any way to generate a single quote (') with XSLT?

    Hello:

    I guess that's really a question of XSLT. I use the XMLType variable Transform() method to apply a style sheet. The XML code in the variable is just something simple like

    < TBL >
    < name > AS | JONES < / LAST_NAME >
    < name > = | MARIE < / name >
    < AGE > = | 50 < / AGE >
    < / TBL >

    I'm trying to get a style sheet to transform something like the above SQL such as
    Select * from foo where LAST_NAME like 'JONES' 
    and FIRST_NAME ='MARY'
    and AGE = 50
    But to do this, I need to generate single quotes around search terms and I can't get anything else that
    LAST_NAME LIKE &apos;JONES&apos;
    . Is there a way to do this? Because now I'm generating a ~ and replacement ~ for ' all the SQL generated text throughout, but is a pretty sorry solution.

    I thought that something like
    <xsl:text disable-output-escaping="yes">&amp;</xsl:text>
    go to work but then is found out that he has been deprecated. I thought about character-card would work, but it's one thing to XSLT 2.0 and apparently 10g is on XSLT 1.0? In all cases, he didn't know what I was trying to do with a character map.

    So, I forget one obvious way to get my style sheet to insert apostrophes?

    Thank you.

    Comment by Marco needing dbms_xmlgen.convert was OK for 10.2.0.4. Here is an example which produces the same result, but requires dbms_xmlgen.convert when I run it on 10.2.0.4 and works as an example of Mark on 11.1.0.x.

    declare
      l_xml   XMLTYPE := XMLTYPE('
    
      
        
        
        
        
      
      
        
        
        
        
      
      
        
        
        
        
      
      
        
        
        
        
      
      
        
        
        
        
      
    ');
    
       l_xsl XMLTYPE := XMLTYPE('
    
      
      
    
    
      
        select * from
        
        where 1=1
        
          
            
            
            
              AND 
               
              
               
              
                
                  '
                  
                  '
                
                
                  '
                  
                  '
                
                
                  
                
              
            
          
        
      
    ');
    
       l_result   CLOB := '1';
    begin
      -- 10.2.0.4 version
      --l_result := dbms_xmlgen.convert(l_xml.transform(l_xsl).getStringVal(), dbms_xmlgen.ENTITY_DECODE);
      l_result := l_xml.transform(l_xsl).getStringVal();
      -- 11.1.0.6 version
      dbms_output.put_line(l_result);
    end;
    
  • I can quote a single quote so that I can use it in Replace()

    Hello. How can I quote a single quote so that I can use it in the Replace() function below. I'm trying to name query containing a records '.


    Select first_name, last_name
    of ttms.prospect
    where instr(first_name,"'") > 0
    /
    *
    ERROR at line 3:
    ORA-00904: "'": invalid identifier

    Hello

    String literals are surrounded by single quotes (no quotes).
    To use a single quotation mark in a string literal, use two of them:

    WHERE   INSTR (first_name, '''') > 0
    

    Oacle 10 (and more), you can also use Q-rating:

    WHERE   INSTR (first_name, q'[']') > 0
    

    but you can find this most confusing for literals short containing only a single quote.

    Published by: Frank Kulash, March 11, 2009 16:52

  • First HP: how to enter a number complex, using single quotes

    Hello

    This is probably a stupid question, but how do you enter a charager apostrophe on the first HP RPN mode?

    I read the section in the guide of the user on enteringer a complex numbers in RPN mode.    Using (3.4) works fine, but I'm curious to know how to enter using the method indicated in the doc:

    "In RPN mode, complex numbers must be in single quotes and require an explicit multiplication.
    For example, 3-2 * i'. "

    For the life of me, I can't find the character of simple-qoute.     Maj 9' does not work.

    It's late and without a doubt, it is right in front of me, but I can't.   I feel a "time da come...» »

    Thanks in advance,

    OK, found it...      (Maj)

    (I cheated and google it)

  • Import of single quote + script

    Hello world

    I use FDMEE 11.2.3Hi got in my data several fields and look..., XXX, XXX',..., 2000

    I'm not even match the value XXX'XXX but it seems that I can't load data from tent to convert a nonnumeric value in number and I do not understand why.

    I tried to solve this problem with a script BefImport trying to replace the "character without success. Also, I don't know what it is bad in my syntax.

    If fdmContext ["LOCNAME'] == 'YYY ':

    fdmAPI.logInfo (fdmContext ["LOCNAME"])

    Try:

    filename = fdmContext ["FILENAME"]

    Inbox = fdmContext ["INBOXDIR"]

    fdmAPI.logInfo (filename)

    fdmAPI.logInfo (inbox)

    file = inbox + '\\YYY\\' + filename

    file_out = inbox + "\\YYY\\" + file name ".out".

    fdmAPI.logInfo (file)

    end = open (file, "r")

    who cares = open (file_out, "w")

    for the end line:

    lineIni = line.replace ("', '_')

    care. Write (lineIni)

    end. Close()

    care. Close()

    except IOError, err:

    fdmAPI.logError ("My error" + str (err))

    OS. Remove (file)

    OS. Rename (file_out, leader)

    Does anyone has any ideas on this?, why it takes "as a comma?

    Thanks and regards.

    Hello

    Yes I copied the script of the solution and turn. Now, I finished digging into it and, apparently, a single quote ' is a wildcard is solf put that------in the script before the quotation mark as follows (maybe it will be useful to someone else):

    If fdmContext ["LOCNAME'] == 'DSLWGLMulti ':
    fdmAPI.logInfo (fdmContext ["LOCNAME"])
    Try:
    filename = fdmContext ["FILENAME"]
    Inbox = fdmContext ["INBOXDIR"]
    #filedir = fdmContext ['FILEDIR']
    fdmAPI.logInfo (filename)
    fdmAPI.logInfo (inbox)
    file = inbox + '\\DSLWGLMulti\\' + filename
    file_out = inbox + "\\DSLWGLMulti\\" + file name ".out".
    #file = inbox '-' + filedir + "\\"+filename. "
    #file_out = inbox + "\" + filedir + "\\"+filename + «.out "»
    fdmAPI.logInfo (file)
    end = open (file, "r")
    who cares = open (file_out, "w")
    for the end line:
    line = line.replace('\'','')
    care. Write (Line)
    end. Close()
    care. Close()
    except IOError, err:
    fdmAPI.logError ("My error" + str (err))

    OS. Remove (file)
    OS. Rename (file_out, leader)

Maybe you are looking for