<?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 SQL  TRIM, exclude separator character, if source var is blank in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/SQL-TRIM-exclude-separator-character-if-source-var-is-blank/m-p/369455#M275583</link>
    <description>&lt;P&gt;hi,&lt;/P&gt;&lt;P&gt;I produce a report for customer address change (previous and new). There are many address fields in source table that i compress into 1 variable (for previous address). Within this variable, i use "|" as separator. Example below.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Sometimes source table address variables are blank for a given customer. Any tip on how i can avoid seeing | | | in my output table?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks in advance,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;output example:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;FROM_ADDRESS&lt;/TD&gt;&lt;TD&gt;TO_ADDRESS&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;PO BOX 1769&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | CORUNNA | ON | N0N1G4 | CAN&lt;/TD&gt;&lt;TD&gt;956 BLACKTHORN CRES&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | CORUNNA | ON | N0N1G7 | CAN&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;|&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp; |&lt;/TD&gt;&lt;TD&gt;|&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp; |&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;88 NIVEN ST&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | RED DEER | AB | T4P1P8 | CAN&lt;/TD&gt;&lt;TD&gt;56 RUTHERFORD DR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | RED DEER | AB | T4P2Z5 | CAN&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;|&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp; |&lt;/TD&gt;&lt;TD&gt;|&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp; |&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;|&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp; |&lt;/TD&gt;&lt;TD&gt;|&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp; |&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Example code I used:&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;PROC SQL;&lt;BR /&gt;CREATE TABLE OUTPUT AS&lt;BR /&gt;SELECT LEFT(TRIM(bill_addr_line1) || " " || TRIM(bill_addr_line2) || " " ||TRIM(bill_addr_line3) || " | " || TRIM(BILL_CITY) || " | " ||TRIM(BILL_STATE_PROV_CD)|| " | " ||TRIM(BILL_ZIP_POST_CD)|| " | " ||TRIM(BILL_CNTRY_CD)) AS FROM_ADDRESS,&lt;BR /&gt;LEFT(TRIM(TO_bill_addr_line1) || " " || TRIM(TO_bill_addr_line2) || " " ||TRIM(TO_bill_addr_line3) || " | " || TRIM(TO_BILL_CITY) || " | " ||TRIM(TO_BILL_STATE_PROV_CD)|| " | " ||TRIM(TO_BILL_ZIP_POST_CD)|| " | " ||TRIM(TO_BILL_CNTRY_CD)) AS TO_ADDRESS&lt;BR /&gt;QUIT;&lt;/P&gt;</description>
    <pubDate>Thu, 22 Jun 2017 12:40:51 GMT</pubDate>
    <dc:creator>brulard</dc:creator>
    <dc:date>2017-06-22T12:40:51Z</dc:date>
    <item>
      <title>SQL  TRIM, exclude separator character, if source var is blank</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SQL-TRIM-exclude-separator-character-if-source-var-is-blank/m-p/369455#M275583</link>
      <description>&lt;P&gt;hi,&lt;/P&gt;&lt;P&gt;I produce a report for customer address change (previous and new). There are many address fields in source table that i compress into 1 variable (for previous address). Within this variable, i use "|" as separator. Example below.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Sometimes source table address variables are blank for a given customer. Any tip on how i can avoid seeing | | | in my output table?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks in advance,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;output example:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;FROM_ADDRESS&lt;/TD&gt;&lt;TD&gt;TO_ADDRESS&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;PO BOX 1769&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | CORUNNA | ON | N0N1G4 | CAN&lt;/TD&gt;&lt;TD&gt;956 BLACKTHORN CRES&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | CORUNNA | ON | N0N1G7 | CAN&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;|&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp; |&lt;/TD&gt;&lt;TD&gt;|&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp; |&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;88 NIVEN ST&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | RED DEER | AB | T4P1P8 | CAN&lt;/TD&gt;&lt;TD&gt;56 RUTHERFORD DR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | RED DEER | AB | T4P2Z5 | CAN&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;|&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp; |&lt;/TD&gt;&lt;TD&gt;|&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp; |&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;|&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp; |&lt;/TD&gt;&lt;TD&gt;|&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp; |&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Example code I used:&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;PROC SQL;&lt;BR /&gt;CREATE TABLE OUTPUT AS&lt;BR /&gt;SELECT LEFT(TRIM(bill_addr_line1) || " " || TRIM(bill_addr_line2) || " " ||TRIM(bill_addr_line3) || " | " || TRIM(BILL_CITY) || " | " ||TRIM(BILL_STATE_PROV_CD)|| " | " ||TRIM(BILL_ZIP_POST_CD)|| " | " ||TRIM(BILL_CNTRY_CD)) AS FROM_ADDRESS,&lt;BR /&gt;LEFT(TRIM(TO_bill_addr_line1) || " " || TRIM(TO_bill_addr_line2) || " " ||TRIM(TO_bill_addr_line3) || " | " || TRIM(TO_BILL_CITY) || " | " ||TRIM(TO_BILL_STATE_PROV_CD)|| " | " ||TRIM(TO_BILL_ZIP_POST_CD)|| " | " ||TRIM(TO_BILL_CNTRY_CD)) AS TO_ADDRESS&lt;BR /&gt;QUIT;&lt;/P&gt;</description>
      <pubDate>Thu, 22 Jun 2017 12:40:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SQL-TRIM-exclude-separator-character-if-source-var-is-blank/m-p/369455#M275583</guid>
      <dc:creator>brulard</dc:creator>
      <dc:date>2017-06-22T12:40:51Z</dc:date>
    </item>
    <item>
      <title>Re: SQL  TRIM, exclude separator character, if source var is blank</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SQL-TRIM-exclude-separator-character-if-source-var-is-blank/m-p/369456#M275584</link>
      <description>&lt;P&gt;Use the SAS concatenation functions: cats, catt, cat, catx etc.&lt;/P&gt;
&lt;P&gt;E.g:&lt;/P&gt;
&lt;PRE&gt;proc sql;
  create table OUTPUT as
  select  catx('|',BILL_ADDR_LINE1,BILL_ADDR_LINE2,BILL_ADDR_LINE3) as BILL_ADDR
  from    HAVE:
quit;&lt;/PRE&gt;
&lt;P&gt;Tip: Avoid using Output as a dataset name, pretty much everything is output from something else.&lt;/P&gt;</description>
      <pubDate>Thu, 22 Jun 2017 12:53:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SQL-TRIM-exclude-separator-character-if-source-var-is-blank/m-p/369456#M275584</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2017-06-22T12:53:27Z</dc:date>
    </item>
  </channel>
</rss>

