DATA Step, Macro, Functions and more

Quoted string

Accepted Solution Solved
Reply
Occasional Contributor
Posts: 8
Accepted Solution

Quoted string

 

I want to pass this command to SQL server but single quotes within single quotes are causing issues.

 

'SQLCMD -S serever -U user -P passwd -Q "Execute xyz.dbo.abc 111, '2017-10-10'"'

 

'

SQLCMD -S serever -U user -P passwd -Q

"

Execute xyz.dbo.abc 111,

'

2017-10-10

'

"

'

 


Accepted Solutions
Solution
‎10-24-2017 05:14 PM
Super User
Posts: 13,876

Re: Quoted string


NitinC wrote:

 

I want to pass this command to SQL server but single quotes within single quotes are causing issues.

 

'SQLCMD -S serever -U user -P passwd -Q "Execute xyz.dbo.abc 111, '2017-10-10'"'

 

'

SQLCMD -S serever -U user -P passwd -Q

"

Execute xyz.dbo.abc 111,

'

2017-10-10

'

"

'

 


What issue? If SAS is throwing an error you might 1) show the error and 2) try replacing one single quote with two single quotes (NOT a double quote) to pass.

data junk;
   x=' This is an example of using SAS''s double single quote to resolve to one quote in data.';
run;

 

Not promising anything but

View solution in original post


All Replies
Solution
‎10-24-2017 05:14 PM
Super User
Posts: 13,876

Re: Quoted string


NitinC wrote:

 

I want to pass this command to SQL server but single quotes within single quotes are causing issues.

 

'SQLCMD -S serever -U user -P passwd -Q "Execute xyz.dbo.abc 111, '2017-10-10'"'

 

'

SQLCMD -S serever -U user -P passwd -Q

"

Execute xyz.dbo.abc 111,

'

2017-10-10

'

"

'

 


What issue? If SAS is throwing an error you might 1) show the error and 2) try replacing one single quote with two single quotes (NOT a double quote) to pass.

data junk;
   x=' This is an example of using SAS''s double single quote to resolve to one quote in data.';
run;

 

Not promising anything but

Occasional Contributor
Posts: 8

Re: Quoted string

I will try what you said. 

 

I will try tomorrow when I have access to the SAS,

This is my typical code.

data _null_;
x= 'SQLCMD -S serever -U user -P passwd -Q "Execute xyz.dbo.abc 111, '2017-10-10'"';

call symput('X', X);

run;

filename abc pipe &x.;

At this stage when I am creating file reference single quotes are causing it to fail. SQL server is very particular about where to use single and double quotes.

Idea is to execute SQL Server procs via SQLCMD utility and capture output. I know I can use SQL pass through but it is not executing procs correctly in some cases and I am in touch with SAS support.





 

 

Super User
Posts: 10,846

Re: Quoted string

Try this one :

filename abc pipe %sysfunc(quote(SQLCMD -S serever -U user -P passwd -Q "Execute xyz.dbo.abc 111, '2017-10-10'"))  ;



Occasional Contributor
Posts: 8

Re: Quoted string

Sure, I will try this also.

☑ This topic is solved.

Need further help from the community? Please ask a new question.

Discussion stats
  • 4 replies
  • 177 views
  • 0 likes
  • 3 in conversation