doc-exports/docs/dws/tool/dws_16_0064.html
Lu, Huayi 27019c2991 DWS TOOL 830.201 version
Reviewed-by: Hasko, Vladimir <vladimir.hasko@t-systems.com>
Reviewed-by: Pruthi, Vineet <vineet.pruthi@t-systems.com>
Co-authored-by: Lu, Huayi <luhuayi@huawei.com>
Co-committed-by: Lu, Huayi <luhuayi@huawei.com>
2024-05-16 07:35:25 +00:00

156 lines
18 KiB
HTML

<a name="EN-US_TOPIC_0000001819416141"></a><a name="EN-US_TOPIC_0000001819416141"></a>
<h1 class="topictitle1">CHARACTER SET and CASESPECIFIC</h1>
<div id="body8662426"><p id="EN-US_TOPIC_0000001819416141__en-us_topic_0000001658024506_en-us_topic_0000001434630653_p10737125111413">CHARACTER SET is used to specify the server character set for a character column. CASESPECIFIC specifies the case for character data comparisons and collations.</p>
<p id="EN-US_TOPIC_0000001819416141__en-us_topic_0000001658024506_en-us_topic_0000001434630653_p111584014517">Use the <a href="dws_16_0014.html#EN-US_TOPIC_0000001819416085__en-us_topic_0000001706224349_en-us_topic_0000001432527901_li245515470479">tdMigrateCharsetCase</a> configuration parameter to configure migration of CHARACTER SET and CASESPECIFIC. If <strong id="EN-US_TOPIC_0000001819416141__en-us_topic_0000001658024506_en-us_topic_0000001434630653_b18255101012599">tdMigrateCharsetCase</strong> is set to <strong id="EN-US_TOPIC_0000001819416141__en-us_topic_0000001658024506_en-us_topic_0000001434630653_b168012125598">false</strong>, the tool will skip migration of the query and will log a message.</p>
<p id="EN-US_TOPIC_0000001819416141__en-us_topic_0000001658024506_en-us_topic_0000001434630653_p72873710476"><strong id="EN-US_TOPIC_0000001819416141__en-us_topic_0000001658024506_en-us_topic_0000001434630653_b32854144232119">Input (</strong><strong id="EN-US_TOPIC_0000001819416141__en-us_topic_0000001658024506_en-us_topic_0000001434630653_b89331032832119">tdMigrateCharsetCase=True)</strong></p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001819416141__en-us_topic_0000001658024506_en-us_topic_0000001434630653_screen399979457"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span>
<span class="normal">5</span>
<span class="normal">6</span>
<span class="normal">7</span>
<span class="normal">8</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">CREATE</span><span class="w"> </span><span class="n">MULTISET</span><span class="w"> </span><span class="k">VOLATILE</span><span class="w"> </span><span class="k">TABLE</span><span class="w"> </span><span class="n">TAB1</span>
<span class="p">(</span>
<span class="w"> </span><span class="n">col1</span><span class="w"> </span><span class="nb">INTEGER</span><span class="w"> </span><span class="k">NOT</span><span class="w"> </span><span class="k">NULL</span><span class="w"> </span>
<span class="w"> </span><span class="p">,</span><span class="n">col2</span><span class="w"> </span><span class="nb">INTEGER</span><span class="w"> </span><span class="k">NOT</span><span class="w"> </span><span class="k">NULL</span><span class="w"> </span>
<span class="w"> </span><span class="p">,</span><span class="n">col3</span><span class="w"> </span><span class="nb">VARCHAR</span><span class="p">(</span><span class="mi">100</span><span class="p">)</span><span class="w"> </span><span class="k">NOT</span><span class="w"> </span><span class="k">NULL</span><span class="w"> </span><span class="nb">CHARACTER</span><span class="w"> </span><span class="k">SET</span><span class="w"> </span><span class="n">UNICODE</span><span class="w"> </span><span class="n">CASESPECIFIC</span><span class="w"> </span><span class="p">)</span>
<span class="k">PRIMARY</span><span class="w"> </span><span class="k">INDEX</span><span class="w"> </span><span class="p">(</span><span class="n">col1</span><span class="p">,</span><span class="n">col2</span><span class="p">)</span>
<span class="k">ON</span><span class="w"> </span><span class="k">COMMIT</span><span class="w"> </span><span class="k">PRESERVE</span><span class="w"> </span><span class="k">ROWS</span>
<span class="p">;</span>
</pre></div></td></tr></table></div>
</div>
<p id="EN-US_TOPIC_0000001819416141__en-us_topic_0000001658024506_en-us_topic_0000001434630653_p102591941557"><strong id="EN-US_TOPIC_0000001819416141__en-us_topic_0000001658024506_en-us_topic_0000001434630653_b213166879">Output</strong></p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001819416141__en-us_topic_0000001658024506_en-us_topic_0000001434630653_screen1565215419512"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
<span class="normal"> 2</span>
<span class="normal"> 3</span>
<span class="normal"> 4</span>
<span class="normal"> 5</span>
<span class="normal"> 6</span>
<span class="normal"> 7</span>
<span class="normal"> 8</span>
<span class="normal"> 9</span>
<span class="normal">10</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">CREATE</span><span class="w"> </span><span class="k">LOCAL</span><span class="w"> </span><span class="k">TEMPORARY</span><span class="w"> </span><span class="k">TABLE</span><span class="w"> </span><span class="n">TMP_RATING_SYS_PARA</span><span class="w"> </span>
<span class="p">(</span>
<span class="w"> </span><span class="n">col1</span><span class="w"> </span><span class="nb">INTEGER</span><span class="w"> </span><span class="k">NOT</span><span class="w"> </span><span class="k">NULL</span><span class="w"> </span>
<span class="w"> </span><span class="p">,</span><span class="n">col2</span><span class="w"> </span><span class="nb">INTEGER</span><span class="w"> </span><span class="k">NOT</span><span class="w"> </span><span class="k">NULL</span><span class="w"> </span>
<span class="w"> </span><span class="p">,</span><span class="n">col3</span><span class="w"> </span><span class="nb">VARCHAR</span><span class="p">(</span><span class="mi">100</span><span class="p">)</span><span class="w"> </span><span class="k">NOT</span><span class="w"> </span><span class="k">NULL</span><span class="w"> </span><span class="cm">/* CHARACTER SET UNICODE CASESPECIFIC */</span><span class="p">)</span>
<span class="p">)</span>
<span class="k">ON</span><span class="w"> </span><span class="k">COMMIT</span><span class="w"> </span><span class="k">PRESERVE</span><span class="w"> </span><span class="k">ROWS</span><span class="w"> </span>
<span class="w"> </span><span class="n">DISTRIBUTE</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">HASH</span><span class="w"> </span><span class="p">(</span><span class="n">col1</span><span class="p">,</span><span class="n">col2</span><span class="p">)</span>
<span class="p">;</span>
</pre></div></td></tr></table></div>
</div>
<p id="EN-US_TOPIC_0000001819416141__en-us_topic_0000001658024506_en-us_topic_0000001434630653_p1654723155211"></p>
<p id="EN-US_TOPIC_0000001819416141__en-us_topic_0000001658024506_en-us_topic_0000001434630653_p149861559112911"><strong id="EN-US_TOPIC_0000001819416141__en-us_topic_0000001658024506_en-us_topic_0000001434630653_b185055979132119">Input</strong>-<strong id="EN-US_TOPIC_0000001819416141__en-us_topic_0000001658024506_en-us_topic_0000001434630653_b153964338132119">Migration support for Character-based data type</strong></p>
<p id="EN-US_TOPIC_0000001819416141__en-us_topic_0000001658024506_en-us_topic_0000001434630653_p1661014283526">In Teradata, the following character sets support character-based length for string data types:</p>
<ul id="EN-US_TOPIC_0000001819416141__en-us_topic_0000001658024506_en-us_topic_0000001434630653_ul11220225585"><li id="EN-US_TOPIC_0000001819416141__en-us_topic_0000001658024506_en-us_topic_0000001434630653_li1412132295819">LATIN</li><li id="EN-US_TOPIC_0000001819416141__en-us_topic_0000001658024506_en-us_topic_0000001434630653_li201210226581">UNICODE</li><li id="EN-US_TOPIC_0000001819416141__en-us_topic_0000001658024506_en-us_topic_0000001434630653_li137341211185619">GRAPHIC<p id="EN-US_TOPIC_0000001819416141__en-us_topic_0000001658024506_en-us_topic_0000001434630653_p4701161419560"><a name="EN-US_TOPIC_0000001819416141__en-us_topic_0000001658024506_en-us_topic_0000001434630653_li137341211185619"></a><a name="en-us_topic_0000001658024506_en-us_topic_0000001434630653_li137341211185619"></a>However, the KANJISJIS character set support byte-based length for string data types.</p>
<p id="EN-US_TOPIC_0000001819416141__en-us_topic_0000001658024506_en-us_topic_0000001434630653_p076410458566">For example, COLUMN_NAME VARCHAR(100) CHARACTER SET UNICODE CASESPECIFIC COLUMN_NAME VARCHAR(100) CHARACTER SET LATIN CASESPECIFIC This can store up to 100 characters (not bytes).</p>
<p id="EN-US_TOPIC_0000001819416141__en-us_topic_0000001658024506_en-us_topic_0000001434630653_p9617172213153">In GaussDB A, string data types are byte-based (not character-based). VARCHAR (100) and VARCHAR2 (100) can store up to 100 byte (not characters). However, NVARCHAR2 (100) can store up to 100 characters.</p>
<p id="EN-US_TOPIC_0000001819416141__en-us_topic_0000001658024506_en-us_topic_0000001434630653_p16264182513152">So, if TD's LATIN, UNICODE and GRAPHIC character sets, VARCHAR should be migrated to NVARCHAR.</p>
</li></ul>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001819416141__en-us_topic_0000001658024506_en-us_topic_0000001434630653_screen267914292001"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span>
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">CREATE</span><span class="w"> </span><span class="k">TABLE</span><span class="w"> </span><span class="n">tab1</span>
<span class="p">(</span>
<span class="w"> </span><span class="n">col1</span><span class="w"> </span><span class="nb">VARCHAR</span><span class="p">(</span><span class="mi">10</span><span class="p">),</span>
<span class="w"> </span><span class="n">COL2</span><span class="w"> </span><span class="nb">CHAR</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
<span class="p">);</span>
</pre></div></td></tr></table></div>
</div>
<p id="EN-US_TOPIC_0000001819416141__en-us_topic_0000001658024506_en-us_topic_0000001434630653_p8663191281310"><strong id="EN-US_TOPIC_0000001819416141__en-us_topic_0000001658024506_en-us_topic_0000001434630653_b128424144353">Output</strong></p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001819416141__en-us_topic_0000001658024506_en-us_topic_0000001434630653_screen16137010717"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
<span class="normal"> 2</span>
<span class="normal"> 3</span>
<span class="normal"> 4</span>
<span class="normal"> 5</span>
<span class="normal"> 6</span>
<span class="normal"> 7</span>
<span class="normal"> 8</span>
<span class="normal"> 9</span>
<span class="normal">10</span>
<span class="normal">11</span>
<span class="normal">12</span>
<span class="normal">13</span>
<span class="normal">14</span>
<span class="normal">15</span></pre></div></td><td class="code"><div><pre><span></span><span class="n">a</span><span class="p">)</span><span class="k">when</span><span class="w"> </span><span class="n">default_charset</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">UNICODE</span><span class="o">/</span><span class="n">GRAPHIC</span>
<span class="k">CREATE</span>
<span class="w"> </span><span class="k">TABLE</span>
<span class="w"> </span><span class="n">tab1</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="n">col1</span><span class="w"> </span><span class="n">NVARCHAR2</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">)</span><span class="w"> </span>
<span class="w"> </span><span class="p">,</span><span class="n">COL2</span><span class="w"> </span><span class="n">NVARCHAR2</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
<span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="p">;</span>
<span class="n">b</span><span class="p">)</span><span class="k">when</span><span class="w"> </span><span class="n">default_charset</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">LATIN</span>
<span class="k">CREATE</span>
<span class="w"> </span><span class="k">TABLE</span>
<span class="w"> </span><span class="n">tab1</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="n">col1</span><span class="w"> </span><span class="n">VARCHAR2</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">)</span>
<span class="w"> </span><span class="p">,</span><span class="n">COL2</span><span class="w"> </span><span class="n">VARCHAR2</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
<span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="p">;</span>
</pre></div></td></tr></table></div>
</div>
<p id="EN-US_TOPIC_0000001819416141__en-us_topic_0000001658024506_en-us_topic_0000001434630653_p1149855513015"></p>
<p id="EN-US_TOPIC_0000001819416141__en-us_topic_0000001658024506_en-us_topic_0000001434630653_p15843210830"><strong id="EN-US_TOPIC_0000001819416141__en-us_topic_0000001658024506_en-us_topic_0000001434630653_b14407162493512">Input</strong></p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001819416141__en-us_topic_0000001658024506_en-us_topic_0000001434630653_screen149031227319"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span>
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">CREATE</span><span class="w"> </span><span class="k">TABLE</span><span class="w"> </span><span class="n">tab1</span>
<span class="p">(</span>
<span class="w"> </span><span class="n">col1</span><span class="w"> </span><span class="nb">VARCHAR</span><span class="p">(</span><span class="mi">10</span><span class="p">)</span><span class="w"> </span><span class="nb">CHARACTER</span><span class="w"> </span><span class="k">SET</span><span class="w"> </span><span class="n">UNICODE</span><span class="p">,</span>
<span class="w"> </span><span class="n">COL2</span><span class="w"> </span><span class="nb">CHAR</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
<span class="p">);</span>
</pre></div></td></tr></table></div>
</div>
<p id="EN-US_TOPIC_0000001819416141__en-us_topic_0000001658024506_en-us_topic_0000001434630653_p76301255801"><strong id="EN-US_TOPIC_0000001819416141__en-us_topic_0000001658024506_en-us_topic_0000001434630653_b152121621173515">Output</strong></p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001819416141__en-us_topic_0000001658024506_en-us_topic_0000001434630653_screen815217531933"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
<span class="normal"> 2</span>
<span class="normal"> 3</span>
<span class="normal"> 4</span>
<span class="normal"> 5</span>
<span class="normal"> 6</span>
<span class="normal"> 7</span>
<span class="normal"> 8</span>
<span class="normal"> 9</span>
<span class="normal">10</span>
<span class="normal">11</span>
<span class="normal">12</span>
<span class="normal">13</span>
<span class="normal">14</span>
<span class="normal">15</span></pre></div></td><td class="code"><div><pre><span></span><span class="n">a</span><span class="p">)</span><span class="w"> </span><span class="k">when</span><span class="w"> </span><span class="n">default_charset</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">UNICODE</span><span class="o">/</span><span class="n">GRAPHIC</span>
<span class="k">CREATE</span>
<span class="w"> </span><span class="k">TABLE</span>
<span class="w"> </span><span class="n">tab1</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="n">col1</span><span class="w"> </span><span class="n">NVARCHAR2</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">)</span><span class="w"> </span><span class="cm">/* CHARACTER SET UNICODE*/</span>
<span class="w"> </span><span class="p">,</span><span class="n">COL2</span><span class="w"> </span><span class="n">NVARCHAR2</span><span class="p">(</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="p">)</span>
<span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="p">;</span><span class="w"> </span>
<span class="n">b</span><span class="p">)</span><span class="w"> </span><span class="k">when</span><span class="w"> </span><span class="n">default_charset</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">LATIN</span>
<span class="k">CREATE</span>
<span class="w"> </span><span class="k">TABLE</span>
<span class="w"> </span><span class="n">tab1</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="n">col1</span><span class="w"> </span><span class="n">NVARCHAR2</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">)</span><span class="w"> </span><span class="cm">/* CHARACTER SET UNICODE*/</span>
<span class="w"> </span><span class="p">,</span><span class="n">COL2</span><span class="w"> </span><span class="nb">CHAR</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
<span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="p">;</span>
</pre></div></td></tr></table></div>
</div>
<p id="EN-US_TOPIC_0000001819416141__en-us_topic_0000001658024506_en-us_topic_0000001434630653_p5799191261312"></p>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="dws_16_0061.html">Migrating Tables</a></div>
</div>
</div>