Marc You're kind of getting it. With eqnull off, HELLO does not NOT EQUAL NULL (double negative intentional). NULL equals nothing and does NOT equal anything - that's the standard. Look at this test.rmd and watch how with eqnull off, the statement evaluates FALSE - HELLO does not NOT EQUAL NULL:
set var vtrueresult text = null set var vfalseresult text = null set var vtext1 = 'hello', vtext2 text = null if vtext1 <> .vtext2 then set var vtrueresult = 'True' else set var vfalseresult = 'False' endif sho var return Now watch it evaluate with both eqnull off, and then on: R>sho eqnull (EQNULL ) OFF Treat null EQual NULL as a match R>run test.rmd Variable = Value Type ------------------ ------------------------------ -------- #DATE = 04/11/2008 DATE #TIME = 10:48:50 TIME #PI = 3.14159265358979 DOUBLE SQLCODE = 0 INTEGER SQLSTATE = 00000 TEXT #NOW = 04/11/2008 10:48:50 DATETIME vtrueresult = - TEXT vfalseresult = False TEXT vtext1 = hello TEXT vtext2 = - TEXT R>set eqnull on R>run test.rmd Variable = Value Type ------------------ ------------------------------ -------- #DATE = 04/11/2008 DATE #TIME = 10:49:10 TIME #PI = 3.14159265358979 DOUBLE SQLCODE = 0 INTEGER SQLSTATE = 00000 TEXT #NOW = 04/11/2008 10:49:10 DATETIME vtrueresult = True TEXT vfalseresult = - TEXT vtext1 = hello TEXT vtext2 = - TEXT I wouldn't worry about it as you've obviously programmed your apps with eqnull on thinking. As long as you know that's how they're going to work, then you're ok. The point is, it's just not SQL standard. Dawn Hast Office - (828) 646-2669 Cell - (828) 246-8543 "Marc" <[EMAIL PROTECTED]> wrote on 04/11/2008 10:32:57 AM: > This always reminds me of Who's on First, it makes your head spin. > > But to my way of thinking and what I think would make sense to users > > Hello is only = to Hello therefore <> to anything else > > so with EQNULL ON or OFF the Pause statement should fire because > no matter what Hello can not be = to a blank field or a null or empty field > Hello can only be = to Hello > > The same for <> Hello is = to only Hello therefore <> to everything else. > > Am I nuts or just not getting this. Maybe my RBrain is set Off? > > Marc > > > > > ----- Original Message ----- > From: [EMAIL PROTECTED] > To: RBASE-L Mailing List > Sent: Friday, April 11, 2008 8:31 AM > Subject: [RBASE-L] - Re: EQNULL ON or OFF > > Marc: > > For you, the danger would be to set it OFF right now without > checking your programs. If your programs were done with the > assumption that eqnull was set ON, then you better not change the > setting. Here's the main difference: > > set var vtext1 = 'hello', vtext2 text = null > if vtext1 <> .vtext2 then > pause 2 using 'they are not equal, so do something' > endif > > if eqnull ON, then the pause would evaluate because it is able to > compare a null to a value. If you eqnull is OFF (which I believe > the majority of us do), then a null cannot be compared with anything > and the pause would NOT evaluate. > > Karen > > > Marc, > > When EQNULL is on, R:BASE doesn't distinguish a null from a zero, so > any average calculations are screwy. > > Bill > > On Fri, Apr 11, 2008 at 8:41 PM, Marc <[EMAIL PROTECTED]> wrote: > > After reading the other thread I got nervous about my EQNULL setting. > I have it set to ON, so now I am worried. I had a problem sometime back > and setting EQNULL ON fixed that problem so I just leave it on. > > What are the dangers with it ON? > > thanks > Marc >

