<?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 Re: Comparing with null (missing) values in proc sql in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Comparing-with-null-missing-values-in-proc-sql/m-p/485373#M126101</link>
    <description>&lt;P&gt;Remember you are talking about two separate things here.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Null is an SQL/Database thing.&amp;nbsp; SAS treats missing numeric cells as ., and missing character strings as "".&amp;nbsp; The reason your logic equates to true is:&lt;/P&gt;
&lt;P&gt;null_var=.&lt;/P&gt;
&lt;P&gt;. &amp;lt; 123 = true.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The answer to this is to use SAS thinking:&lt;BR /&gt;case when . &amp;lt; null_var &amp;lt; 123 then 1 else 0 end as null_comp_result.&lt;/P&gt;</description>
    <pubDate>Thu, 09 Aug 2018 08:42:29 GMT</pubDate>
    <dc:creator>RW9</dc:creator>
    <dc:date>2018-08-09T08:42:29Z</dc:date>
    <item>
      <title>Comparing with null (missing) values in proc sql</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Comparing-with-null-missing-values-in-proc-sql/m-p/485367#M126097</link>
      <description>&lt;P&gt;It appears that SAS evaluates comparison with null values as True&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;proc sql;&lt;BR /&gt;    select&lt;BR /&gt;        case when null_var &amp;lt; 123 then 1 else 0 end as null_comp_result&lt;BR /&gt;    from my_table;&lt;BR /&gt;quit;&lt;/PRE&gt;&lt;P&gt;null_var contains missing values, the query returns column of 1's.&lt;/P&gt;&lt;P&gt;Is it possible to somehow change SAS setting so comparing to null will give False?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 09 Aug 2018 08:21:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Comparing-with-null-missing-values-in-proc-sql/m-p/485367#M126097</guid>
      <dc:creator>EtoUspeh</dc:creator>
      <dc:date>2018-08-09T08:21:28Z</dc:date>
    </item>
    <item>
      <title>Re: Comparing with null (missing) values in proc sql</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Comparing-with-null-missing-values-in-proc-sql/m-p/485368#M126098</link>
      <description>&lt;P&gt;So when null_var is missing, you want null_comp_result to equal zero, correct?&lt;/P&gt;</description>
      <pubDate>Thu, 09 Aug 2018 08:26:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Comparing-with-null-missing-values-in-proc-sql/m-p/485368#M126098</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2018-08-09T08:26:55Z</dc:date>
    </item>
    <item>
      <title>Re: Comparing with null (missing) values in proc sql</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Comparing-with-null-missing-values-in-proc-sql/m-p/485372#M126100</link>
      <description>Draycut,&lt;BR /&gt;&lt;BR /&gt;yes, furthermore i want all comparisons with null result in False</description>
      <pubDate>Thu, 09 Aug 2018 08:33:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Comparing-with-null-missing-values-in-proc-sql/m-p/485372#M126100</guid>
      <dc:creator>EtoUspeh</dc:creator>
      <dc:date>2018-08-09T08:33:08Z</dc:date>
    </item>
    <item>
      <title>Re: Comparing with null (missing) values in proc sql</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Comparing-with-null-missing-values-in-proc-sql/m-p/485373#M126101</link>
      <description>&lt;P&gt;Remember you are talking about two separate things here.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Null is an SQL/Database thing.&amp;nbsp; SAS treats missing numeric cells as ., and missing character strings as "".&amp;nbsp; The reason your logic equates to true is:&lt;/P&gt;
&lt;P&gt;null_var=.&lt;/P&gt;
&lt;P&gt;. &amp;lt; 123 = true.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The answer to this is to use SAS thinking:&lt;BR /&gt;case when . &amp;lt; null_var &amp;lt; 123 then 1 else 0 end as null_comp_result.&lt;/P&gt;</description>
      <pubDate>Thu, 09 Aug 2018 08:42:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Comparing-with-null-missing-values-in-proc-sql/m-p/485373#M126101</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2018-08-09T08:42:29Z</dc:date>
    </item>
    <item>
      <title>Re: Comparing with null (missing) values in proc sql</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Comparing-with-null-missing-values-in-proc-sql/m-p/485376#M126103</link>
      <description>&lt;P&gt;Oh, and to note you also have the missing() function which can compare either character or numeric variables as missing:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://support.sas.com/documentation/cdl/en/lefunctionsref/63354/HTML/default/viewer.htm#p06ybg84o0asa4n17l9ieauk58hb.htm" target="_blank"&gt;http://support.sas.com/documentation/cdl/en/lefunctionsref/63354/HTML/default/viewer.htm#p06ybg84o0asa4n17l9ieauk58hb.htm&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 09 Aug 2018 08:46:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Comparing-with-null-missing-values-in-proc-sql/m-p/485376#M126103</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2018-08-09T08:46:58Z</dc:date>
    </item>
    <item>
      <title>Re: Comparing with null (missing) values in proc sql</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Comparing-with-null-missing-values-in-proc-sql/m-p/485377#M126104</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/212498"&gt;@EtoUspeh&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;It appears that SAS evaluates comparison with null values as True&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;proc sql;&lt;BR /&gt;    select&lt;BR /&gt;        case when null_var &amp;lt; 123 then 1 else 0 end as null_comp_result&lt;BR /&gt;    from my_table;&lt;BR /&gt;quit;&lt;/PRE&gt;
&lt;P&gt;null_var contains missing values, the query returns column of 1's.&lt;/P&gt;
&lt;P&gt;Is it possible to somehow change SAS setting so comparing to null will give False?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Per definition, a missing numerical value in SAS is smaller than any non-missing value.&lt;/P&gt;
&lt;P&gt;See (eg) &lt;A href="http://support.sas.com/documentation/cdl/en/lrcon/62955/HTML/default/viewer.htm#a000989180.htm" target="_blank"&gt;http://support.sas.com/documentation/cdl/en/lrcon/62955/HTML/default/viewer.htm#a000989180.htm&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 09 Aug 2018 08:49:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Comparing-with-null-missing-values-in-proc-sql/m-p/485377#M126104</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2018-08-09T08:49:45Z</dc:date>
    </item>
  </channel>
</rss>

