Home Page for the TeradataForum
 

Archives of the TeradataForum

Message Posted: Tue, 19 Dec 2006 @ 20:54:03 GMT


     
  <Prev Next>   <<First <Prev
Next>
Last>>
 


Subj:   Re: Looking for bad data
 
From:   Takahashi, Takashi

If you use the Unicode server character set and store two Thai characters U+0E20 and U+0E40, everything should work correctly as other people demonstrated. "Sel * from test.rd1 where a=b" will not return a row.

However, if you store the same Thai characters in TIS 620 encoding into Teradata Latin column via ASCII session, you will see the problem.

     U+0E20 => 0xC0 in TIS 620
     U+0E40 => 0xE0 in TIS 620

     CREATE SET TABLE test_rd2 (
            a CHAR(10) CHARACTER SET LATIN NOT CASESPECIFIC,
            b CHAR(10) CHARACTER SET LATIN NOT CASESPECIFIC)
            PRIMARY INDEX ( a );

     Insert Into test_rd2 values(_LATIN'C0'XC, _LATIN'E0'XC);
     Sel * from test_rd2 where a=b;

     => Teradata returns a row

This is because Teradata Latin is designed for Latin 1 characters, not for Thai.

In Teradata Latin, here is a definition for those values.

     0xC0   LATIN CAPITAL LETTER A WITH GRAVE
     0xE0   LATIN SMALL LETTER A WITH GRAVE

So, you need Unicode for Thai characters.



     
  <Prev Next>   <<First <Prev
Next>
Last>>
 
 
 
 
 
 
 
 
 
  
  Top Home Privacy Feedback  
 
 
Copyright for the TeradataForum (TDATA-L), Manta BlueSky    
Copyright 2016 - All Rights Reserved    
Last Modified: 15 Jun 2023