Archives of the TeradataForum
Message Posted: Tue, 19 Dec 2006 @ 17:40:14 GMT
Subj: | | Re: Looking for bad data |
|
From: | | Victor Sokovin |
> CREATE SET TABLE test.rd1 (
> a CHAR(10) CHARACTER SET UNICODE NOT CASESPECIFIC,
> b CHAR(10) CHARACTER SET UNICODE NOT CASESPECIFIC)
> PRIMARY INDEX ( a );
>
> insert into RD1 values ('?', '?') -- the characters corresponding to
> unicode '0E20' and --'0E40'
>
> sel * from rd1 where a=b
> Answer : ('?', '?') -- the row just inserted is output
I can't reproduce this in R2V6. Do you really mean '0E20' and '0E40'? These two characters appear to be quite different (at least to me) and I
looked them up in the Unicode reference manual. '0E40' seems to be called SARA E and is classified as vowel whereas '0E20' is consonant and is
called PHO SAMPHAO. My knowledge of Thai is zero so I am open to all options but I just wonder whether there are situations when these two can be
treated as the same character?
> CREATE SET TABLE test.rd2 (
> a CHAR(10) CHARACTER SET UNICODE CASESPECIFIC,
> b CHAR(10) CHARACTER SET UNICODE CASESPECIFIC)
> PRIMARY INDEX ( a );
>
> insert into RD2 values ('?', '?') -- the characters corresponding to
> unicode '0E20' and --'0E40'
> sel * from rd2 where a=b
> Answer : No rows selected.
That's what I get in all cases.
| Teradata should ideally be returning no rows for the not casespecific case as well.One solution would be to use the function
CASESPECIFIC in Selects. Other would be to make all columns casespecific by default, but 'not casespecific' seems an important business
requirement. | |
I'll mention that my session collation was set to ASCII. Perhaps yours is different? You can look it up by issuing HELP SESSION command.
Regards,
Victor
|