Rick, Thanks for the point in the collation direction.
If I recreate the database with TERRITORY_BASED:SECONDARY I get the behavior I want (at least as much as I've tested) the documentation gives an example about accented letters being considered equal under PRIMARY and not under SECONDARY. Also states ' The exact interpretation of the strength part of the attribute depends upon the locale.' Which doesn't really give me a warm and fuzzy, but looks like the way I'll go, because I need to keep the case part. Again, thanks for the reply. Cheers! Danny -----Original Message----- From: Rick Hillegas [mailto:[email protected]] Sent: Tuesday, December 06, 2011 3:18 PM To: [email protected] Subject: Re: dash in a varchar column - effect on select statement Hi Danny, I can reproduce your results if I create the database with collation=TERRITORY_BASED:PRIMARY. I am not an expert on the behavior of this collation. However, I see that this issue came up last year on derby-user in this thread: http://comments.gmane.org/gmane.comp.apache.db.derby.user/12851 Hope this helps, -Rick On 12/6/11 9:10 AM, Danny Gallagher wrote: > Actually yes, I am using a collation: TERRITORY_BASED:PRIMARY. In this > specific case would be en_US > > Which from my understanding and reading of the documentation should effect > case, not the existence or nonexistence of characters. > > Thanks, > > Danny > > -----Original Message----- > From: Rick Hillegas [mailto:[email protected]] > Sent: Tuesday, December 06, 2011 11:11 AM > To: [email protected] > Subject: Re: dash in a varchar column - effect on select statement > > On 12/6/11 7:45 AM, Danny Gallagher wrote: >> SELECT * FROM TABLE WHERE NAME = 'LKFSASP' >> > Hi Danny, > > I can't reproduce this problem (see the script below, which runs correctly > for me). Are you using a special collation in this database? > > connect 'jdbc:derby:memory:db;create=true'; > > create table t( a varchar( 50 ) ); > insert into t( a ) values ( 'LKFS-ASP' ); > > -- no results > select * from t where a = 'LKFSASP'; > > insert into t( a ) values ( 'LKFSASP' ); > > -- returns 1 row > select * from t where a = 'LKFSASP'; > > Thanks, > -Rick >
