<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic resolve macro variable single quotes in SQL in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/resolve-macro-variable-single-quotes-in-SQL/m-p/268221#M53074</link>
    <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Have searched for a solution for my problem, but can't find it.&lt;/P&gt;
&lt;P&gt;I'm using an SQL in a macro, and I want to resolve a macrovariable that needs to be between two single quotes in the WHERE clause:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;WHERE t2.CENTRUM = '&amp;amp;centrum'&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;when resolved, it should look like this:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;WHERE t2.CENTRUM = 'centre1'&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Whatever I'm trying, I cant resolve &amp;amp;centrum when it's between the single quotes. Double quotes will resolve it, but I need the single quotes, otherwise my sql will not function.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;What am I missing here?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Full code:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;%macro create_list_per_centre;&lt;/P&gt;
&lt;P&gt;%do c = 1 %to 5;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;%if &amp;amp;c = 1 %then %let centrum = centre1;&lt;BR /&gt;&amp;nbsp;%else %if &amp;amp;c = 2 %then %let centrum = centre2;&lt;BR /&gt;&amp;nbsp;%else %if &amp;amp;c = 3 %then %let centrum = centre3;&lt;BR /&gt;&amp;nbsp;%else %if &amp;amp;c = 4 %then %let centrum = centre4;&lt;BR /&gt;&amp;nbsp;%else %if &amp;amp;c = 5 %then %let centrum = centre5;&lt;/P&gt;
&lt;P&gt;PROC SQL;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; CREATE TABLE WORK.&amp;amp;centrum AS &lt;BR /&gt;&amp;nbsp;&amp;nbsp; SELECT t2.CENTRUM, &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; t1.KEY,&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (put(t2.YR,4.) || 'm' || strip(put(t2.periode2,2.))) AS PERIODE,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FROM WORK.error_ALL t1&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LEFT JOIN tableYYY t2 ON (t1.KEY = t2.KEY)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHERE t2.CENTRUM = '&amp;amp;centrum'&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ORDER BY t2.CENTRUM,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; t1.KEY,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; t1.error_type;&lt;BR /&gt;QUIT;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;%end;&lt;/P&gt;
&lt;P&gt;%mend;&lt;/P&gt;</description>
    <pubDate>Wed, 04 May 2016 09:27:29 GMT</pubDate>
    <dc:creator>fre</dc:creator>
    <dc:date>2016-05-04T09:27:29Z</dc:date>
    <item>
      <title>resolve macro variable single quotes in SQL</title>
      <link>https://communities.sas.com/t5/SAS-Programming/resolve-macro-variable-single-quotes-in-SQL/m-p/268221#M53074</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Have searched for a solution for my problem, but can't find it.&lt;/P&gt;
&lt;P&gt;I'm using an SQL in a macro, and I want to resolve a macrovariable that needs to be between two single quotes in the WHERE clause:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;WHERE t2.CENTRUM = '&amp;amp;centrum'&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;when resolved, it should look like this:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;WHERE t2.CENTRUM = 'centre1'&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Whatever I'm trying, I cant resolve &amp;amp;centrum when it's between the single quotes. Double quotes will resolve it, but I need the single quotes, otherwise my sql will not function.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;What am I missing here?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Full code:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;%macro create_list_per_centre;&lt;/P&gt;
&lt;P&gt;%do c = 1 %to 5;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;%if &amp;amp;c = 1 %then %let centrum = centre1;&lt;BR /&gt;&amp;nbsp;%else %if &amp;amp;c = 2 %then %let centrum = centre2;&lt;BR /&gt;&amp;nbsp;%else %if &amp;amp;c = 3 %then %let centrum = centre3;&lt;BR /&gt;&amp;nbsp;%else %if &amp;amp;c = 4 %then %let centrum = centre4;&lt;BR /&gt;&amp;nbsp;%else %if &amp;amp;c = 5 %then %let centrum = centre5;&lt;/P&gt;
&lt;P&gt;PROC SQL;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; CREATE TABLE WORK.&amp;amp;centrum AS &lt;BR /&gt;&amp;nbsp;&amp;nbsp; SELECT t2.CENTRUM, &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; t1.KEY,&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (put(t2.YR,4.) || 'm' || strip(put(t2.periode2,2.))) AS PERIODE,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FROM WORK.error_ALL t1&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LEFT JOIN tableYYY t2 ON (t1.KEY = t2.KEY)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHERE t2.CENTRUM = '&amp;amp;centrum'&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ORDER BY t2.CENTRUM,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; t1.KEY,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; t1.error_type;&lt;BR /&gt;QUIT;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;%end;&lt;/P&gt;
&lt;P&gt;%mend;&lt;/P&gt;</description>
      <pubDate>Wed, 04 May 2016 09:27:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/resolve-macro-variable-single-quotes-in-SQL/m-p/268221#M53074</guid>
      <dc:creator>fre</dc:creator>
      <dc:date>2016-05-04T09:27:29Z</dc:date>
    </item>
    <item>
      <title>Re: resolve macro variable single quotes in SQL</title>
      <link>https://communities.sas.com/t5/SAS-Programming/resolve-macro-variable-single-quotes-in-SQL/m-p/268223#M53075</link>
      <description>&lt;P&gt;Here is an example :&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%let sex=F;

proc sql;
select *
 from sashelp.class
  where sex=%unquote(%bquote('&amp;amp;sex'));
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 04 May 2016 09:43:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/resolve-macro-variable-single-quotes-in-SQL/m-p/268223#M53075</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2016-05-04T09:43:58Z</dc:date>
    </item>
    <item>
      <title>Re: resolve macro variable single quotes in SQL</title>
      <link>https://communities.sas.com/t5/SAS-Programming/resolve-macro-variable-single-quotes-in-SQL/m-p/268224#M53076</link>
      <description>&lt;P&gt;Thank you very much, it worked.&lt;/P&gt;</description>
      <pubDate>Wed, 04 May 2016 09:54:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/resolve-macro-variable-single-quotes-in-SQL/m-p/268224#M53076</guid>
      <dc:creator>fre</dc:creator>
      <dc:date>2016-05-04T09:54:52Z</dc:date>
    </item>
    <item>
      <title>Re: resolve macro variable single quotes in SQL</title>
      <link>https://communities.sas.com/t5/SAS-Programming/resolve-macro-variable-single-quotes-in-SQL/m-p/268231#M53078</link>
      <description>&lt;P&gt;Hi&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Please also have a look here &lt;A href="https://communities.sas.com/docs/DOC-11204" target="_blank"&gt;https://communities.sas.com/docs/DOC-11204&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;There is a autocall macro %TSLIT that can be used and also an alternative macro provided by &lt;A href="https://communities.sas.com/t5/user/viewprofilepage/user-id/159" target="_blank"&gt;@Tom&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Bruno&lt;/P&gt;</description>
      <pubDate>Wed, 04 May 2016 10:23:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/resolve-macro-variable-single-quotes-in-SQL/m-p/268231#M53078</guid>
      <dc:creator>BrunoMueller</dc:creator>
      <dc:date>2016-05-04T10:23:14Z</dc:date>
    </item>
  </channel>
</rss>

