164 lines
6.4 KiB
HTML
164 lines
6.4 KiB
HTML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-us">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
<meta name="dc.language" scheme="rfc1766" content="en-us" />
|
|
<!-- All rights reserved. Licensed Materials Property of IBM -->
|
|
<!-- US Government Users Restricted Rights -->
|
|
<!-- Use, duplication or disclosure restricted by -->
|
|
<!-- GSA ADP Schedule Contract with IBM Corp. -->
|
|
<meta name="dc.date" scheme="iso8601" content="2005-09-19" />
|
|
<meta name="copyright" content="(C) Copyright IBM Corporation 1998, 2006" />
|
|
<meta name="security" content="public" />
|
|
<meta name="Robots" content="index,follow"/>
|
|
<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' />
|
|
<title>Promotion of data types</title>
|
|
<link rel="stylesheet" type="text/css" href="ibmidwb.css" />
|
|
<link rel="stylesheet" type="text/css" href="ic.css" />
|
|
</head>
|
|
<body>
|
|
<a id="Top_Of_Page" name="Top_Of_Page"></a><!-- Java sync-link -->
|
|
<script language = "Javascript" src = "../rzahg/synch.js" type="text/javascript"></script>
|
|
|
|
|
|
<a name="promo"></a>
|
|
<h2 id="promo"><a href="rbafzmst02.htm#ToC_137">Promotion of data types</a></h2>
|
|
<p>Data types can be classified into groups of related data types. Within
|
|
such groups, an order of precedence exists where one data type is considered
|
|
to precede another data type. This precedence enables the database manager to support the <span class="italic">promotion</span> of one data type to another data type that appears
|
|
later in the precedence ordering. For example, the data type CHAR can be promoted
|
|
to VARCHAR; INTEGER can be promoted to DOUBLE PRECISION; but CLOB is NOT promotable
|
|
VARCHAR.</p>
|
|
<p>The database manager considers the promotion of data types when: </p>
|
|
<ul>
|
|
<li>performing function resolution (see <a href="rbafzmstch2function.htm#funcres">Function resolution</a>)</li>
|
|
<li>casting distinct types (see <a href="rbafzmstcastdt.htm#castdt">Casting between data types</a>)</li>
|
|
<li>assigning distinct types to built-in data types (see <a href="rbafzmstch2bas.htm#udtasgn">Distinct type assignments</a>)</li></ul>
|
|
<p>For each data type, <a href="rbafzmstpromo.htm#promot1">Table 11</a> shows the precedence list (in
|
|
order) that the database manager uses to determine the data types to which each data type
|
|
can be promoted. The table indicates that the best choice is the same data
|
|
type and not promotion to another data type. Note that the table also shows
|
|
data types that are considered equivalent during the promotion process. For
|
|
example, CHARACTER and GRAPHIC are considered to be equivalent data types.</p>
|
|
<a name="promot1"></a>
|
|
<table id="promot1" width="100%" summary="" border="1" frame="hsides" rules="rows">
|
|
<caption>Table 11. Data Type Precedence Table</caption>
|
|
<thead valign="bottom">
|
|
<tr>
|
|
<th id="wq127" width="20%" align="left">Data Type</th>
|
|
<th id="wq128" width="80%" align="left">Data Type Precedence List (in best-to-worst order)</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody valign="top">
|
|
<tr>
|
|
<td headers="wq127">SMALLINT</td>
|
|
<td headers="wq128">SMALLINT, INTEGER, BIGINT, decimal, real, double</td>
|
|
</tr>
|
|
<tr>
|
|
<td headers="wq127">INTEGER</td>
|
|
<td headers="wq128">INTEGER, BIGINT, decimal, real, double</td>
|
|
</tr>
|
|
<tr>
|
|
<td align="left" valign="bottom" headers="wq127">BIGINT</td>
|
|
<td align="left" valign="bottom" headers="wq128">BIGINT, decimal, real, double</td>
|
|
</tr>
|
|
<tr>
|
|
<td headers="wq127">decimal</td>
|
|
<td headers="wq128">decimal, real, double</td>
|
|
</tr>
|
|
<tr>
|
|
<td headers="wq127">real</td>
|
|
<td headers="wq128">real, double</td>
|
|
</tr>
|
|
<tr>
|
|
<td headers="wq127">double</td>
|
|
<td headers="wq128">double</td>
|
|
</tr>
|
|
<tr>
|
|
<td headers="wq127"><span>CHAR or GRAPHIC</span></td>
|
|
<td headers="wq128"><span>CHAR or GRAPHIC, VARCHAR or VARGRAPHIC, CLOB or DBCLOB</span></td>
|
|
</tr>
|
|
<tr>
|
|
<td headers="wq127"><span>VARCHAR or VARGRAPHIC</span></td>
|
|
<td headers="wq128"><span>VARCHAR or VARGRAPHIC, CLOB or DBCLOB</span></td>
|
|
</tr>
|
|
<tr>
|
|
<td headers="wq127"><span>CLOB or DBCLOB</span></td>
|
|
<td headers="wq128"><span>CLOB or DBCLOB</span></td>
|
|
</tr>
|
|
<tr>
|
|
<td headers="wq127"><span>BINARY</span></td>
|
|
<td headers="wq128"><span>BINARY, VARBINARY, BLOB</span></td>
|
|
</tr>
|
|
<tr>
|
|
<td headers="wq127"><span>VARBINARY</span></td>
|
|
<td headers="wq128"><span>VARBINARY, BLOB</span></td>
|
|
</tr>
|
|
<tr>
|
|
<td headers="wq127">BLOB</td>
|
|
<td headers="wq128">BLOB</td>
|
|
</tr>
|
|
<tr>
|
|
<td headers="wq127">DATE</td>
|
|
<td headers="wq128">DATE</td>
|
|
</tr>
|
|
<tr>
|
|
<td headers="wq127">TIME</td>
|
|
<td headers="wq128">TIME</td>
|
|
</tr>
|
|
<tr>
|
|
<td headers="wq127">TIMESTAMP</td>
|
|
<td headers="wq128">TIMESTAMP</td>
|
|
</tr>
|
|
<tr>
|
|
<td headers="wq127">DATALINK</td>
|
|
<td headers="wq128">DATALINK</td>
|
|
</tr>
|
|
<tr>
|
|
<td headers="wq127">ROWID</td>
|
|
<td headers="wq128">ROWID</td>
|
|
</tr>
|
|
<tr>
|
|
<td headers="wq127">udt</td>
|
|
<td headers="wq128">same udt</td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="2" headers="wq127 wq128">
|
|
<a name="wq129"></a>
|
|
<div class="notetitle" id="wq129">Note:</div>
|
|
<div class="notebody"></div>
|
|
<p>The lower case
|
|
types above are defined as follows: </p>
|
|
<dl>
|
|
<dt class="bold">decimal</dt>
|
|
<dd>= DECIMAL(p,s) or NUMERIC(p,s)
|
|
</dd>
|
|
<dt class="bold">real</dt>
|
|
<dd>= REAL or FLOAT(<span class="italic">n</span>) where <span class="italic">n</span> is a specification for single precision floating point
|
|
</dd>
|
|
<dt class="bold">double</dt>
|
|
<dd>= DOUBLE, DOUBLE PRECISION, FLOAT or FLOAT(<span class="italic">n</span>)
|
|
where <span class="italic">n</span> is a specification for double precision floating
|
|
point
|
|
</dd>
|
|
<dt class="bold">udt</dt>
|
|
<dd>= a user-defined type
|
|
</dd>
|
|
</dl>
|
|
<p>Shorter and longer form synonyms of the data types listed are
|
|
considered to be the same as the synonym listed.</p>
|
|
<p><span>Character and
|
|
graphic strings are only compatible for Unicode data.</span></p></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<hr /><br />
|
|
[ <a href="#Top_Of_Page">Top of Page</a> | <a href="rbafzmstch2data.htm">Previous Page</a> | <a href="rbafzmstcastdt.htm">Next Page</a> | <a href="rbafzmst02.htm#wq1">Contents</a> |
|
|
<a href="rbafzmstindex.htm#index">Index</a> ]
|
|
|
|
<a id="Bot_Of_Page" name="Bot_Of_Page"></a>
|
|
</body>
|
|
</html>
|