| 
	
 | 
 Posted by Jason Lepack on 03/20/07 10:53 
Actually, ltrim(rtrim(c2)) is 'any number of spaces', it's zero 
spaces, or empty string, not NULL.  NULL is not an empty string, it is 
NULL.  End of story. 
 
Cheers, 
Jason Lepack 
 
On Mar 20, 6:04 am, othell...@yahoo.com wrote: 
> On Mar 20, 3:52 pm, "David Portas" 
> 
> 
> 
> <REMOVE_BEFORE_REPLYING_dpor...@acm.org> wrote: 
> > On 20 Mar, 06:28, othell...@yahoo.com wrote: 
> 
> > > create table t1(c1 int, c2 varchar(10)) 
> > > insert t1 values(1,'Hello') 
> > > insert t1 values(2,'') 
> > > insert t1 values(3,NULL) 
> 
> > > select * 
> > > from t1 
> 
> > > c1      c2 
> > > 1       Hello 
> > > 2 
> > > 3       NULL 
> 
> > > select * 
> > > from t1 
> > > where c2 = '       ' 
> 
> > > c1      c2 
> > > 2 
> 
> > > select * 
> > > from t1 
> > > where ltrim(rtrim(c2)) is null 
> 
> > > c1      c2 
> > > 3       NULL 
> 
> > > The last query should have result as following. However sql server 
> > > 2000 does no list row c1 = 2. 
> > > c1      c2 
> > > 2 
> > > 3       NULL 
> 
> > Why would you think that the result of ltrim(rtrim(c2)) would be NULL 
> > when c2 is a non-null string? In fact the result is an empty string 
> > (not the same as NULL) so the answer you got is correct. The row where 
> > c1=2 should NOT be included. 
> 
> > In SQL, NULL is not the same as an empty string. The only common 
> > exception that I know of is Oracle, which treats empty strings as 
> > NULLs. 
> 
> > -- 
> > David Portas, SQL Server MVP 
> 
> > Whenever possible please post enough code to reproduce your problem. 
> > Including CREATE TABLE and INSERT statements usually helps. 
> > State what version of SQL Server you are using and specify the content 
> > of any error messages. 
> 
> > SQL Server Books Online:http://msdn2.microsoft.com/library/ms130214(en-US,SQL.90).aspx 
> > --- Hide quoted text - 
> 
> > - Show quoted text - 
> 
> If it is not null then it is definitely not 'any number of spaces' and 
> match. 
> 
> select * 
> from t1 
> where c2 = '       '
 
  
Navigation:
[Reply to this message] 
 |