Focal Point Banner


As of December 1, 2020, Focal Point is retired and repurposed as a reference repository. We value the wealth of knowledge that's been shared here over the years. You'll continue to have access to this treasure trove of knowledge, for search purposes only.

Join the TIBCO Community
TIBCO Community is a collaborative space for users to share knowledge and support one another in making the best use of TIBCO products and services. There are several TIBCO WebFOCUS resources in the community.

  • From the Home page, select Predict: WebFOCUS to view articles, questions, and trending articles.
  • Select Products from the top navigation bar, scroll, and then select the TIBCO WebFOCUS product page to view product overview, articles, and discussions.
  • Request access to the private WebFOCUS User Group (login required) to network with fellow members.

Former myibi community members should have received an email on 8/3/22 to activate their user accounts to join the community. Check your Spam folder for the email. Please get in touch with us at community@tibco.com for further assistance. Reference the community FAQ to learn more about the community.


Focal Point    Focal Point Forums  Hop To Forum Categories  WebFOCUS/FOCUS Forum on Focal Point     Single quote in SQL pass through

Read-Only Read-Only Topic
Go
Search
Notify
Tools
Single quote in SQL pass through
 Login/Join
 
Gold member
posted
I am having trouble with names that contain the apostrophe character when I use SQL pass through.

My SQL uses:
WHERE cont_sub_type LIKE '&IN_CONT_SUB_TYPE'

and the problem is &IN_CONT_SUB_TYPE evaluates to 'Bob's Place'.

You can pass 'Bob''s Place' to SQL (note the repeated single quote) and all is well. So how do I replace the single quote with double single quotes?
I can't use STRREP as all arguments are surrounded by single quotes which gets very confusing and I don't thik WebFOCUS likes double quotes around the arguments.
Mad


Using: WF 7.1.5, XP Pro, Tomcat, Self Serve
 
Posts: 81 | Location: Calgary, Alberta | Registered: August 07, 2003Report This Post
Guru
posted Hide Post
Did you try &IN_CONT_SUB_TYPE.QUOTEDSTRING ?


(Prod: WebFOCUS 7.7.03: Win 2008 & AIX hub/Servlet Mode; sub: AS/400 JDE; mostly Self Serve; DBs: Oracle, JDE, SQLServer; various output formats)
 
Posts: 391 | Location: California | Registered: April 14, 2003Report This Post
Expert
posted Hide Post
not sure i understand, but if you want to replace ' with ", that's easy.
CTRAN (character translation) function
ascii bytval for ' is 39
ascii bytval for " is 34
CTRAN(charlen, string, decimal, decvalue, outfield)
NEWVALUE/A30=(30,OLDSTRING,39,34,'A30');




In Focus since 1979///7706m/5 ;wintel 2008/64;OAM security; Oracle db, ///MRE/BID
 
Posts: 3811 | Location: Manhattan | Registered: October 28, 2003Report This Post
Expert
posted Hide Post
NightOwl,

If you only have the possibility of one apostrophe then you could tokenise the variable and rebuild it -
-* File sql_apostrophe.fex
-SET &IN_CONT_SUB_TYPE = '''Bob''s Place''';

-SET &fst_token = GETTOK(&IN_CONT_SUB_TYPE, &IN_CONT_SUB_TYPE.LENGTH, 1, '''', &IN_CONT_SUB_TYPE.LENGTH, 'A&IN_CONT_SUB_TYPE.LENGTH');
-SET &lst_token = GETTOK(&IN_CONT_SUB_TYPE, &IN_CONT_SUB_TYPE.LENGTH, -1, '''', &IN_CONT_SUB_TYPE.LENGTH, 'A&IN_CONT_SUB_TYPE.LENGTH');
-SET &IN_CONT_SUB_TYPE1 = &fst_token || '''''' || &lst_token;

-? &IN_CONT_SUB_TYPE


Will give you output of -
 CURRENTLY DEFINED & VARIABLES STARTING WITH 'IN_CONT_SUB_TYPE':
 &IN_CONT_SUB_>= 'Bob's Place'
 &IN_CONT_SUB_>= Bob''s Place

With the second (suffixed 1) being the variable you would use.

T



In FOCUS
since 1986
WebFOCUS Server 8.2.01M, thru 8.2.07 on Windows Svr 2008 R2  
WebFOCUS App Studio 8.2.06 standalone on Windows 10 
 
Posts: 5694 | Location: United Kingdom | Registered: April 08, 2004Report This Post
Gold member
posted Hide Post
Thanks all. I used STRREP and if you use enough single quotes then it actually works.
STRREP(&IN_CONT_SUB_TYPE.LENGTH, &IN_CONT_SUB_TYPE, 4, '''', 2, '''''', &IN_CONT_SUB_TYPE.LENGTH, 'A255');

This will replace all single quates with two single quates and then SQL is happy.

Scary stuff.


Using: WF 7.1.5, XP Pro, Tomcat, Self Serve
 
Posts: 81 | Location: Calgary, Alberta | Registered: August 07, 2003Report This Post
Gold member
posted Hide Post
The .QOUTEDSTRING works better.

Thanks all.


Using: WF 7.1.5, XP Pro, Tomcat, Self Serve
 
Posts: 81 | Location: Calgary, Alberta | Registered: August 07, 2003Report This Post
Expert
posted Hide Post
N.Selph,

Very useful information, thankyou.

Where did you learn about the .QUOTEDSTRING extension? Any idea when it first appeared?

T



In FOCUS
since 1986
WebFOCUS Server 8.2.01M, thru 8.2.07 on Windows Svr 2008 R2  
WebFOCUS App Studio 8.2.06 standalone on Windows 10 
 
Posts: 5694 | Location: United Kingdom | Registered: April 08, 2004Report This Post
Guru
posted Hide Post
That snuck up on me too. It was mentioned in a case I had with IBI, and then I looked up the documentation. It is mentioned in the 5.3 New Features manual.


(Prod: WebFOCUS 7.7.03: Win 2008 & AIX hub/Servlet Mode; sub: AS/400 JDE; mostly Self Serve; DBs: Oracle, JDE, SQLServer; various output formats)
 
Posts: 391 | Location: California | Registered: April 14, 2003Report This Post
Expert
posted Hide Post
quote:
QUOTEDSTRING

Interesting, though I think I need a drink after reading the doc!

And how this works in Dev Studio, I wonder.


Francis


Give me code, or give me retirement. In FOCUS since 1991

Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server
 
Posts: 10577 | Location: Toronto, Ontario, Canada | Registered: April 27, 2005Report This Post
  Powered by Social Strata  

Read-Only Read-Only Topic

Focal Point    Focal Point Forums  Hop To Forum Categories  WebFOCUS/FOCUS Forum on Focal Point     Single quote in SQL pass through

Copyright © 1996-2020 Information Builders