blob: 81724604a74c91fab591d28c83808a49d86fbcad [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="zh">
<head>
<!-- Generated by javadoc -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>SqlTypeUtil (Apache Calcite calcite API)</title>
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="SqlTypeUtil (Apache Calcite calcite API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9,"i19":9,"i20":9,"i21":9,"i22":9,"i23":9,"i24":9,"i25":9,"i26":41,"i27":41,"i28":9,"i29":9,"i30":9,"i31":9,"i32":9,"i33":9,"i34":9,"i35":9,"i36":9,"i37":9,"i38":9,"i39":9,"i40":9,"i41":9,"i42":9,"i43":9,"i44":9,"i45":9,"i46":9,"i47":9,"i48":9,"i49":9,"i50":9,"i51":9,"i52":9,"i53":9,"i54":9,"i55":41,"i56":9,"i57":9,"i58":9,"i59":9,"i60":9,"i61":9,"i62":9,"i63":9,"i64":9,"i65":9,"i66":9,"i67":9,"i68":9,"i69":9,"i70":9,"i71":9,"i72":9,"i73":9};
var tabs = {65535:["t0","所有方法"],1:["t1","静态方法"],8:["t4","具体方法"],32:["t6","已过时的方法"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>您的浏览器已禁用 JavaScript。</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="跳过导航链接">跳过导航链接</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="导航">
<li><a href="../../../../../overview-summary.html">概览</a></li>
<li><a href="package-summary.html">程序包</a></li>
<li class="navBarCell1Rev"></li>
<li><a href="package-tree.html"></a></li>
<li><a href="../../../../../deprecated-list.html">已过时</a></li>
<li><a href="../../../../../index-all.html">索引</a></li>
<li><a href="../../../../../help-doc.html">帮助</a></li>
</ul>
<div class="aboutLanguage"><b>Apache Calcite</b></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/calcite/sql/type/SqlTypeTransforms.html" title="org.apache.calcite.sql.type中的类"><span class="typeNameLink">上一个类</span></a></li>
<li><a href="../../../../../org/apache/calcite/sql/type/TableFunctionReturnTypeInference.html" title="org.apache.calcite.sql.type中的类"><span class="typeNameLink">下一个类</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/calcite/sql/type/SqlTypeUtil.html" target="_top">框架</a></li>
<li><a href="SqlTypeUtil.html" target="_top">无框架</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">所有类</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>概要:&nbsp;</li>
<li>嵌套&nbsp;|&nbsp;</li>
<li>字段&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">构造器</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">方法</a></li>
</ul>
<ul class="subNavList">
<li>详细资料:&nbsp;</li>
<li>字段&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">构造器</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">方法</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.calcite.sql.type</div>
<h2 title="类 SqlTypeUtil" class="title">类 SqlTypeUtil</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="java.lang中的类或接口">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.calcite.sql.type.SqlTypeUtil</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public abstract class <span class="typeNameLabel">SqlTypeUtil</span>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="java.lang中的类或接口">Object</a></pre>
<div class="block">Contains utility methods used during SQL validation or type derivation.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>构造器概要</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="构造器概要表, 列表构造器和解释">
<caption><span>构造器</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">构造器和说明</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#SqlTypeUtil--">SqlTypeUtil</a></span>()</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>方法概要</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="方法概要表, 列表方法和解释">
<caption><span id="t0" class="activeTableTab"><span>所有方法</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">静态方法</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">具体方法</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">已过时的方法</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">限定符和类型</th>
<th class="colLast" scope="col">方法和说明</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#addCharsetAndCollation-org.apache.calcite.rel.type.RelDataType-org.apache.calcite.rel.type.RelDataTypeFactory-">addCharsetAndCollation</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type,
<a href="../../../../../org/apache/calcite/rel/type/RelDataTypeFactory.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeFactory</a>&nbsp;typeFactory)</code>
<div class="block">Adds collation and charset to a character type, returns other types
unchanged.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#allNullable-java.util.List-">allNullable</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="java.util中的类或接口">List</a>&lt;<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&gt;&nbsp;types)</code>
<div class="block">Returns whether all of array of types are nullable.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#areCharacterSetsMismatched-org.apache.calcite.rel.type.RelDataType-org.apache.calcite.rel.type.RelDataType-">areCharacterSetsMismatched</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;t1,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;t2)</code>
<div class="block">Determines whether two types both have different character sets.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#areSameFamily-java.lang.Iterable-">areSameFamily</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="java.lang中的类或接口">Iterable</a>&lt;<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&gt;&nbsp;types)</code>
<div class="block">Returns whether all types in a collection have the same family, as
determined by <a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#isSameFamily-org.apache.calcite.rel.type.RelDataType-org.apache.calcite.rel.type.RelDataType-"><code>isSameFamily(RelDataType, RelDataType)</code></a>.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#canAssignFrom-org.apache.calcite.rel.type.RelDataType-org.apache.calcite.rel.type.RelDataType-">canAssignFrom</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;toType,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;fromType)</code>
<div class="block">Tests whether a value can be assigned to a site.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#canCastFrom-org.apache.calcite.rel.type.RelDataType-org.apache.calcite.rel.type.RelDataType-boolean-">canCastFrom</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;toType,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;fromType,
boolean&nbsp;coerce)</code>
<div class="block">Compares two types and returns true if fromType can be cast to toType.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#comparePrecision-int-int-">comparePrecision</a></span>(int&nbsp;p0,
int&nbsp;p1)</code>
<div class="block">Returns whether a precision is greater or equal than another,
treating <a href="../../../../../org/apache/calcite/rel/type/RelDataType.html#PRECISION_NOT_SPECIFIED"><code>RelDataType.PRECISION_NOT_SPECIFIED</code></a> as infinity.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#containsNullable-java.util.List-">containsNullable</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="java.util中的类或接口">List</a>&lt;<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&gt;&nbsp;types)</code>
<div class="block">Returns whether one or more of an array of types is nullable.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#containsNullable-org.apache.calcite.rel.type.RelDataType-">containsNullable</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</code>
<div class="block">Determines whether a type or any of its fields (if a structured type) are
nullable.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/calcite/sql/SqlDataTypeSpec.html" title="org.apache.calcite.sql中的类">SqlDataTypeSpec</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#convertTypeToSpec-org.apache.calcite.rel.type.RelDataType-">convertTypeToSpec</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</code>
<div class="block">Converts an instance of RelDataType to an instance of SqlDataTypeSpec.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/calcite/sql/SqlDataTypeSpec.html" title="org.apache.calcite.sql中的类">SqlDataTypeSpec</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#convertTypeToSpec-org.apache.calcite.rel.type.RelDataType-java.lang.String-int-">convertTypeToSpec</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="java.lang中的类或接口">String</a>&nbsp;charSetName,
int&nbsp;maxPrecision)</code>
<div class="block">Converts an instance of RelDataType to an instance of SqlDataTypeSpec.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#createArrayType-org.apache.calcite.rel.type.RelDataTypeFactory-org.apache.calcite.rel.type.RelDataType-boolean-">createArrayType</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataTypeFactory.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeFactory</a>&nbsp;typeFactory,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type,
boolean&nbsp;nullable)</code>&nbsp;</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#createEmptyStructType-org.apache.calcite.rel.type.RelDataTypeFactory-">createEmptyStructType</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataTypeFactory.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeFactory</a>&nbsp;typeFactory)</code>
<div class="block">Records a struct type with no fields.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#createMapType-org.apache.calcite.rel.type.RelDataTypeFactory-org.apache.calcite.rel.type.RelDataType-org.apache.calcite.rel.type.RelDataType-boolean-">createMapType</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataTypeFactory.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeFactory</a>&nbsp;typeFactory,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;keyType,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;valueType,
boolean&nbsp;nullable)</code>&nbsp;</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#createMultisetType-org.apache.calcite.rel.type.RelDataTypeFactory-org.apache.calcite.rel.type.RelDataType-boolean-">createMultisetType</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataTypeFactory.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeFactory</a>&nbsp;typeFactory,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type,
boolean&nbsp;nullable)</code>&nbsp;</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="java.util中的类或接口">List</a>&lt;<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#deriveAndCollectTypes-org.apache.calcite.sql.validate.SqlValidator-org.apache.calcite.sql.validate.SqlValidatorScope-java.util.List-">deriveAndCollectTypes</a></span>(<a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a>&nbsp;validator,
<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;scope,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="java.util中的类或接口">List</a>&lt;<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&gt;&nbsp;operands)</code>
<div class="block">Iterates over all operands, derives their types, and collects them into
a list.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#equalAsStructSansNullability-org.apache.calcite.rel.type.RelDataTypeFactory-org.apache.calcite.rel.type.RelDataType-org.apache.calcite.rel.type.RelDataType-org.apache.calcite.sql.validate.SqlNameMatcher-">equalAsStructSansNullability</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataTypeFactory.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeFactory</a>&nbsp;factory,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type1,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type2,
<a href="../../../../../org/apache/calcite/sql/validate/SqlNameMatcher.html" title="org.apache.calcite.sql.validate中的接口">SqlNameMatcher</a>&nbsp;nameMatcher)</code>
<div class="block">Returns whether two struct types are equal, ignoring nullability.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#equalSansNullability-org.apache.calcite.rel.type.RelDataTypeFactory-org.apache.calcite.rel.type.RelDataType-org.apache.calcite.rel.type.RelDataType-">equalSansNullability</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataTypeFactory.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeFactory</a>&nbsp;factory,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type1,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type2)</code>
<div class="block">Returns whether two types are equal, ignoring nullability.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#extractLastNFields-org.apache.calcite.rel.type.RelDataTypeFactory-org.apache.calcite.rel.type.RelDataType-int-">extractLastNFields</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataTypeFactory.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeFactory</a>&nbsp;typeFactory,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type,
int&nbsp;numToKeep)</code>
<div class="block">Keeps only the last N fields and returns the new struct type.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>protected static <a href="../../../../../org/apache/calcite/rel/type/RelDataTypeFamily.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeFamily</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#family-org.apache.calcite.rel.type.RelDataType-">family</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</code>&nbsp;</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#findField-org.apache.calcite.rel.type.RelDataType-java.lang.String-">findField</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="java.lang中的类或接口">String</a>&nbsp;fieldName)</code>
<div class="block">Returns the ordinal of a given field in a record type, or -1 if the field
is not found.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#flattenRecordType-org.apache.calcite.rel.type.RelDataTypeFactory-org.apache.calcite.rel.type.RelDataType-int:A-">flattenRecordType</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataTypeFactory.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeFactory</a>&nbsp;typeFactory,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;recordType,
int[]&nbsp;flatteningMap)</code>
<div class="block">Flattens a record type by recursively expanding any fields which are
themselves record types.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#getMaxByteSize-org.apache.calcite.rel.type.RelDataType-">getMaxByteSize</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</code>
<div class="block">Computes the maximum number of bytes required to represent a value of a
type having user-defined precision.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#getMaxPrecisionScaleDecimal-org.apache.calcite.rel.type.RelDataTypeFactory-">getMaxPrecisionScaleDecimal</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataTypeFactory.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeFactory</a>&nbsp;factory)</code>
<div class="block">Get decimal with max precision/scale for the current type system.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#getMaxValue-org.apache.calcite.rel.type.RelDataType-">getMaxValue</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</code>
<div class="block">Determines the maximum unscaled value of a numeric type</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#getMinValue-org.apache.calcite.rel.type.RelDataType-">getMinValue</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</code>
<div class="block">Determines the minimum unscaled value of a numeric type</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="java.lang中的类或接口">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#getNumericJavaClassName-org.apache.calcite.rel.type.RelDataType-">getNumericJavaClassName</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</code>
<div class="block"><span class="deprecatedLabel">已过时。</span>&nbsp;</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="java.lang中的类或接口">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#getPrimitiveWrapperJavaClassName-org.apache.calcite.rel.type.RelDataType-">getPrimitiveWrapperJavaClassName</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</code>
<div class="block"><span class="deprecatedLabel">已过时。</span>&nbsp;</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#hasCharactor-org.apache.calcite.rel.type.RelDataType-">hasCharactor</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</code>&nbsp;</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#hasScale-org.apache.calcite.rel.type.RelDataType-">hasScale</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</code>
<div class="block">Returns whether a type's scale is set.</div>
</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#inBooleanFamily-org.apache.calcite.rel.type.RelDataType-">inBooleanFamily</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</code>&nbsp;</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#inCharFamily-org.apache.calcite.rel.type.RelDataType-">inCharFamily</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</code>&nbsp;</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#inCharFamily-org.apache.calcite.sql.type.SqlTypeName-">inCharFamily</a></span>(<a href="../../../../../org/apache/calcite/sql/type/SqlTypeName.html" title="org.apache.calcite.sql.type中的枚举">SqlTypeName</a>&nbsp;typeName)</code>&nbsp;</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#inCharOrBinaryFamilies-org.apache.calcite.rel.type.RelDataType-">inCharOrBinaryFamilies</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</code>&nbsp;</td>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#inSameFamily-org.apache.calcite.rel.type.RelDataType-org.apache.calcite.rel.type.RelDataType-">inSameFamily</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;t1,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;t2)</code>&nbsp;</td>
</tr>
<tr id="i35" class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#inSameFamilyOrNull-org.apache.calcite.rel.type.RelDataType-org.apache.calcite.rel.type.RelDataType-">inSameFamilyOrNull</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;t1,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;t2)</code>&nbsp;</td>
</tr>
<tr id="i36" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#isApproximateNumeric-org.apache.calcite.rel.type.RelDataType-">isApproximateNumeric</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</code>&nbsp;</td>
</tr>
<tr id="i37" class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#isArray-org.apache.calcite.rel.type.RelDataType-">isArray</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</code>&nbsp;</td>
</tr>
<tr id="i38" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#isAtomic-org.apache.calcite.rel.type.RelDataType-">isAtomic</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</code>&nbsp;</td>
</tr>
<tr id="i39" class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#isBigint-org.apache.calcite.rel.type.RelDataType-">isBigint</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</code>&nbsp;</td>
</tr>
<tr id="i40" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#isBinary-org.apache.calcite.rel.type.RelDataType-">isBinary</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</code>&nbsp;</td>
</tr>
<tr id="i41" class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#isBoolean-org.apache.calcite.rel.type.RelDataType-">isBoolean</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</code>&nbsp;</td>
</tr>
<tr id="i42" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#isBoundedVariableWidth-org.apache.calcite.rel.type.RelDataType-">isBoundedVariableWidth</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</code>&nbsp;</td>
</tr>
<tr id="i43" class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#isCharacter-org.apache.calcite.rel.type.RelDataType-">isCharacter</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</code>&nbsp;</td>
</tr>
<tr id="i44" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#isCharTypeComparable-java.util.List-">isCharTypeComparable</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="java.util中的类或接口">List</a>&lt;<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&gt;&nbsp;argTypes)</code>
<div class="block">Checks whether two types or more are char comparable.</div>
</td>
</tr>
<tr id="i45" class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#isCharTypeComparable-org.apache.calcite.sql.SqlCallBinding-java.util.List-boolean-">isCharTypeComparable</a></span>(<a href="../../../../../org/apache/calcite/sql/SqlCallBinding.html" title="org.apache.calcite.sql中的类">SqlCallBinding</a>&nbsp;binding,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="java.util中的类或接口">List</a>&lt;<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&gt;&nbsp;operands,
boolean&nbsp;throwOnFailure)</code>
<div class="block">Returns whether the operands to a call are char type-comparable.</div>
</td>
</tr>
<tr id="i46" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#isComparable-org.apache.calcite.rel.type.RelDataType-org.apache.calcite.rel.type.RelDataType-">isComparable</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type1,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type2)</code>
<div class="block">Returns whether two types are comparable.</div>
</td>
</tr>
<tr id="i47" class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#isDate-org.apache.calcite.rel.type.RelDataType-">isDate</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</code>&nbsp;</td>
</tr>
<tr id="i48" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#isDatetime-org.apache.calcite.rel.type.RelDataType-">isDatetime</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</code>&nbsp;</td>
</tr>
<tr id="i49" class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#isDecimal-org.apache.calcite.rel.type.RelDataType-">isDecimal</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</code>&nbsp;</td>
</tr>
<tr id="i50" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#isDouble-org.apache.calcite.rel.type.RelDataType-">isDouble</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</code>&nbsp;</td>
</tr>
<tr id="i51" class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#isExactNumeric-org.apache.calcite.rel.type.RelDataType-">isExactNumeric</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</code>&nbsp;</td>
</tr>
<tr id="i52" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#isFlat-org.apache.calcite.rel.type.RelDataType-">isFlat</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</code>
<div class="block">Returns whether a type is flat.</div>
</td>
</tr>
<tr id="i53" class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#isInterval-org.apache.calcite.rel.type.RelDataType-">isInterval</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</code>&nbsp;</td>
</tr>
<tr id="i54" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#isIntType-org.apache.calcite.rel.type.RelDataType-">isIntType</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</code>&nbsp;</td>
</tr>
<tr id="i55" class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#isJavaPrimitive-org.apache.calcite.rel.type.RelDataType-">isJavaPrimitive</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</code>
<div class="block"><span class="deprecatedLabel">已过时。</span>&nbsp;</div>
</td>
</tr>
<tr id="i56" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#isLob-org.apache.calcite.rel.type.RelDataType-">isLob</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</code>&nbsp;</td>
</tr>
<tr id="i57" class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#isMap-org.apache.calcite.rel.type.RelDataType-">isMap</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</code>&nbsp;</td>
</tr>
<tr id="i58" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#isNull-org.apache.calcite.rel.type.RelDataType-">isNull</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</code>&nbsp;</td>
</tr>
<tr id="i59" class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#isNumeric-org.apache.calcite.rel.type.RelDataType-">isNumeric</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</code>&nbsp;</td>
</tr>
<tr id="i60" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#isOfSameTypeName-java.util.Collection-org.apache.calcite.rel.type.RelDataType-">isOfSameTypeName</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="java.util中的类或接口">Collection</a>&lt;<a href="../../../../../org/apache/calcite/sql/type/SqlTypeName.html" title="org.apache.calcite.sql.type中的枚举">SqlTypeName</a>&gt;&nbsp;typeNames,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</code>
<div class="block">Returns true if any element in <code>typeNames</code> matches
type.getSqlTypeName().</div>
</td>
</tr>
<tr id="i61" class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#isOfSameTypeName-org.apache.calcite.sql.type.SqlTypeName-org.apache.calcite.rel.type.RelDataType-">isOfSameTypeName</a></span>(<a href="../../../../../org/apache/calcite/sql/type/SqlTypeName.html" title="org.apache.calcite.sql.type中的枚举">SqlTypeName</a>&nbsp;typeName,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</code>
<div class="block">Returns typeName.equals(type.getSqlTypeName()).</div>
</td>
</tr>
<tr id="i62" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#isString-org.apache.calcite.rel.type.RelDataType-">isString</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</code>&nbsp;</td>
</tr>
<tr id="i63" class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#isTimestamp-org.apache.calcite.rel.type.RelDataType-">isTimestamp</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</code>&nbsp;</td>
</tr>
<tr id="i64" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#isUnicode-org.apache.calcite.rel.type.RelDataType-">isUnicode</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</code>
<div class="block">Checks whether a type represents Unicode character data.</div>
</td>
</tr>
<tr id="i65" class="rowColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#leastRestrictiveForComparison-org.apache.calcite.rel.type.RelDataTypeFactory-org.apache.calcite.rel.type.RelDataType-org.apache.calcite.rel.type.RelDataType-">leastRestrictiveForComparison</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataTypeFactory.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeFactory</a>&nbsp;typeFactory,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type1,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type2)</code>
<div class="block">Returns the least restrictive type T, such that a value of type T can be
compared with values of type <code>type0</code> and <code>type1</code> using
<code>=</code>.</div>
</td>
</tr>
<tr id="i66" class="altColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#makeNullableIfOperandsAre-org.apache.calcite.rel.type.RelDataTypeFactory-java.util.List-org.apache.calcite.rel.type.RelDataType-">makeNullableIfOperandsAre</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataTypeFactory.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeFactory</a>&nbsp;typeFactory,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="java.util中的类或接口">List</a>&lt;<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&gt;&nbsp;argTypes,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</code>
<div class="block">Recreates a given RelDataType with nullability iff any of the param
argTypes are nullable.</div>
</td>
</tr>
<tr id="i67" class="rowColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#makeNullableIfOperandsAre-org.apache.calcite.sql.validate.SqlValidator-org.apache.calcite.sql.validate.SqlValidatorScope-org.apache.calcite.sql.SqlCall-org.apache.calcite.rel.type.RelDataType-">makeNullableIfOperandsAre</a></span>(<a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a>&nbsp;validator,
<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;scope,
<a href="../../../../../org/apache/calcite/sql/SqlCall.html" title="org.apache.calcite.sql中的类">SqlCall</a>&nbsp;call,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</code>
<div class="block">Recreates a given RelDataType with nullability iff any of the operands
of a call are nullable.</div>
</td>
</tr>
<tr id="i68" class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#maxPrecision-int-int-">maxPrecision</a></span>(int&nbsp;p0,
int&nbsp;p1)</code>
<div class="block">Returns the larger of two precisions, treating
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html#PRECISION_NOT_SPECIFIED"><code>RelDataType.PRECISION_NOT_SPECIFIED</code></a> as infinity.</div>
</td>
</tr>
<tr id="i69" class="rowColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#maxValue-org.apache.calcite.rel.type.RelDataType-">maxValue</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</code>
<div class="block">Returns the maximum value of an integral type, as a long value</div>
</td>
</tr>
<tr id="i70" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#needsNullIndicator-org.apache.calcite.rel.type.RelDataType-">needsNullIndicator</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;recordType)</code>&nbsp;</td>
</tr>
<tr id="i71" class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="java.util中的类或接口">List</a>&lt;<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#projectTypes-org.apache.calcite.rel.type.RelDataType-java.util.List-">projectTypes</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;rowType,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="java.util中的类或接口">List</a>&lt;? extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="java.lang中的类或接口">Number</a>&gt;&nbsp;requiredFields)</code>
<div class="block">Selects data types of the specified fields from an input row type.</div>
</td>
</tr>
<tr id="i72" class="altColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#promoteToRowType-org.apache.calcite.rel.type.RelDataTypeFactory-org.apache.calcite.rel.type.RelDataType-java.lang.String-">promoteToRowType</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataTypeFactory.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeFactory</a>&nbsp;typeFactory,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="java.lang中的类或接口">String</a>&nbsp;fieldName)</code>
<div class="block">Promotes a type to a row type (does nothing if it already is one).</div>
</td>
</tr>
<tr id="i73" class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#sameNamedType-org.apache.calcite.rel.type.RelDataType-org.apache.calcite.rel.type.RelDataType-">sameNamedType</a></span>(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;t1,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;t2)</code>
<div class="block">Tests whether two types have the same name and structure, possibly with
differing modifiers.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>从类继承的方法&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="java.lang中的类或接口">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="java.lang中的类或接口">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="java.lang中的类或接口">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="java.lang中的类或接口">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="java.lang中的类或接口">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="java.lang中的类或接口">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="java.lang中的类或接口">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="java.lang中的类或接口">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="java.lang中的类或接口">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="java.lang中的类或接口">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="java.lang中的类或接口">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="java.lang中的类或接口">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>构造器详细资料</h3>
<a name="SqlTypeUtil--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>SqlTypeUtil</h4>
<pre>public&nbsp;SqlTypeUtil()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>方法详细资料</h3>
<a name="isCharTypeComparable-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isCharTypeComparable</h4>
<pre>public static&nbsp;boolean&nbsp;isCharTypeComparable(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="java.util中的类或接口">List</a>&lt;<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&gt;&nbsp;argTypes)</pre>
<div class="block">Checks whether two types or more are char comparable.</div>
<dl>
<dt><span class="returnLabel">返回:</span></dt>
<dd>Returns true if all operands are of char type and if they are
comparable, i.e. of the same charset and collation of same charset</dd>
</dl>
</li>
</ul>
<a name="isCharTypeComparable-org.apache.calcite.sql.SqlCallBinding-java.util.List-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isCharTypeComparable</h4>
<pre>public static&nbsp;boolean&nbsp;isCharTypeComparable(<a href="../../../../../org/apache/calcite/sql/SqlCallBinding.html" title="org.apache.calcite.sql中的类">SqlCallBinding</a>&nbsp;binding,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="java.util中的类或接口">List</a>&lt;<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&gt;&nbsp;operands,
boolean&nbsp;throwOnFailure)</pre>
<div class="block">Returns whether the operands to a call are char type-comparable.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>binding</code> - Binding of call to operands</dd>
<dd><code>operands</code> - Operands to check for compatibility; usually the
operands of the bound call, but not always</dd>
<dd><code>throwOnFailure</code> - Whether to throw an exception on failure</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>whether operands are valid</dd>
</dl>
</li>
</ul>
<a name="deriveAndCollectTypes-org.apache.calcite.sql.validate.SqlValidator-org.apache.calcite.sql.validate.SqlValidatorScope-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deriveAndCollectTypes</h4>
<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="java.util中的类或接口">List</a>&lt;<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&gt;&nbsp;deriveAndCollectTypes(<a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a>&nbsp;validator,
<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;scope,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="java.util中的类或接口">List</a>&lt;<a href="../../../../../org/apache/calcite/sql/SqlNode.html" title="org.apache.calcite.sql中的类">SqlNode</a>&gt;&nbsp;operands)</pre>
<div class="block">Iterates over all operands, derives their types, and collects them into
a list.</div>
</li>
</ul>
<a name="promoteToRowType-org.apache.calcite.rel.type.RelDataTypeFactory-org.apache.calcite.rel.type.RelDataType-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>promoteToRowType</h4>
<pre>public static&nbsp;<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;promoteToRowType(<a href="../../../../../org/apache/calcite/rel/type/RelDataTypeFactory.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeFactory</a>&nbsp;typeFactory,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="java.lang中的类或接口">String</a>&nbsp;fieldName)</pre>
<div class="block">Promotes a type to a row type (does nothing if it already is one).</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>type</code> - type to be promoted</dd>
<dd><code>fieldName</code> - name to give field in row type; null for default of
"ROW_VALUE"</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>row type</dd>
</dl>
</li>
</ul>
<a name="makeNullableIfOperandsAre-org.apache.calcite.sql.validate.SqlValidator-org.apache.calcite.sql.validate.SqlValidatorScope-org.apache.calcite.sql.SqlCall-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>makeNullableIfOperandsAre</h4>
<pre>public static&nbsp;<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;makeNullableIfOperandsAre(<a href="../../../../../org/apache/calcite/sql/validate/SqlValidator.html" title="org.apache.calcite.sql.validate中的接口">SqlValidator</a>&nbsp;validator,
<a href="../../../../../org/apache/calcite/sql/validate/SqlValidatorScope.html" title="org.apache.calcite.sql.validate中的接口">SqlValidatorScope</a>&nbsp;scope,
<a href="../../../../../org/apache/calcite/sql/SqlCall.html" title="org.apache.calcite.sql中的类">SqlCall</a>&nbsp;call,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</pre>
<div class="block">Recreates a given RelDataType with nullability iff any of the operands
of a call are nullable.</div>
</li>
</ul>
<a name="makeNullableIfOperandsAre-org.apache.calcite.rel.type.RelDataTypeFactory-java.util.List-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>makeNullableIfOperandsAre</h4>
<pre>public static&nbsp;<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;makeNullableIfOperandsAre(<a href="../../../../../org/apache/calcite/rel/type/RelDataTypeFactory.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeFactory</a>&nbsp;typeFactory,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="java.util中的类或接口">List</a>&lt;<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&gt;&nbsp;argTypes,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</pre>
<div class="block">Recreates a given RelDataType with nullability iff any of the param
argTypes are nullable.</div>
</li>
</ul>
<a name="allNullable-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>allNullable</h4>
<pre>public static&nbsp;boolean&nbsp;allNullable(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="java.util中的类或接口">List</a>&lt;<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&gt;&nbsp;types)</pre>
<div class="block">Returns whether all of array of types are nullable.</div>
</li>
</ul>
<a name="containsNullable-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>containsNullable</h4>
<pre>public static&nbsp;boolean&nbsp;containsNullable(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="java.util中的类或接口">List</a>&lt;<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&gt;&nbsp;types)</pre>
<div class="block">Returns whether one or more of an array of types is nullable.</div>
</li>
</ul>
<a name="containsNullable-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>containsNullable</h4>
<pre>public static&nbsp;boolean&nbsp;containsNullable(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</pre>
<div class="block">Determines whether a type or any of its fields (if a structured type) are
nullable.</div>
</li>
</ul>
<a name="isOfSameTypeName-org.apache.calcite.sql.type.SqlTypeName-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isOfSameTypeName</h4>
<pre>public static&nbsp;boolean&nbsp;isOfSameTypeName(<a href="../../../../../org/apache/calcite/sql/type/SqlTypeName.html" title="org.apache.calcite.sql.type中的枚举">SqlTypeName</a>&nbsp;typeName,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</pre>
<div class="block">Returns typeName.equals(type.getSqlTypeName()). If
typeName.equals(SqlTypeName.Any) true is always returned.</div>
</li>
</ul>
<a name="isOfSameTypeName-java.util.Collection-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isOfSameTypeName</h4>
<pre>public static&nbsp;boolean&nbsp;isOfSameTypeName(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="java.util中的类或接口">Collection</a>&lt;<a href="../../../../../org/apache/calcite/sql/type/SqlTypeName.html" title="org.apache.calcite.sql.type中的枚举">SqlTypeName</a>&gt;&nbsp;typeNames,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</pre>
<div class="block">Returns true if any element in <code>typeNames</code> matches
type.getSqlTypeName().</div>
<dl>
<dt><span class="seeLabel">另请参阅:</span></dt>
<dd><a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#isOfSameTypeName-org.apache.calcite.sql.type.SqlTypeName-org.apache.calcite.rel.type.RelDataType-"><code>isOfSameTypeName(SqlTypeName, RelDataType)</code></a></dd>
</dl>
</li>
</ul>
<a name="isDatetime-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isDatetime</h4>
<pre>public static&nbsp;boolean&nbsp;isDatetime(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</pre>
<dl>
<dt><span class="returnLabel">返回:</span></dt>
<dd>true if type is DATE, TIME, or TIMESTAMP</dd>
</dl>
</li>
</ul>
<a name="isDate-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isDate</h4>
<pre>public static&nbsp;boolean&nbsp;isDate(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</pre>
<dl>
<dt><span class="returnLabel">返回:</span></dt>
<dd>true if type is DATE</dd>
</dl>
</li>
</ul>
<a name="isTimestamp-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isTimestamp</h4>
<pre>public static&nbsp;boolean&nbsp;isTimestamp(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</pre>
<dl>
<dt><span class="returnLabel">返回:</span></dt>
<dd>true if type is TIMESTAMP</dd>
</dl>
</li>
</ul>
<a name="isInterval-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isInterval</h4>
<pre>public static&nbsp;boolean&nbsp;isInterval(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</pre>
<dl>
<dt><span class="returnLabel">返回:</span></dt>
<dd>true if type is some kind of INTERVAL</dd>
</dl>
</li>
</ul>
<a name="inCharFamily-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>inCharFamily</h4>
<pre>public static&nbsp;boolean&nbsp;inCharFamily(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</pre>
<dl>
<dt><span class="returnLabel">返回:</span></dt>
<dd>true if type is in SqlTypeFamily.Character</dd>
</dl>
</li>
</ul>
<a name="inCharFamily-org.apache.calcite.sql.type.SqlTypeName-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>inCharFamily</h4>
<pre>public static&nbsp;boolean&nbsp;inCharFamily(<a href="../../../../../org/apache/calcite/sql/type/SqlTypeName.html" title="org.apache.calcite.sql.type中的枚举">SqlTypeName</a>&nbsp;typeName)</pre>
<dl>
<dt><span class="returnLabel">返回:</span></dt>
<dd>true if type is in SqlTypeFamily.Character</dd>
</dl>
</li>
</ul>
<a name="inBooleanFamily-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>inBooleanFamily</h4>
<pre>public static&nbsp;boolean&nbsp;inBooleanFamily(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</pre>
<dl>
<dt><span class="returnLabel">返回:</span></dt>
<dd>true if type is in SqlTypeFamily.Boolean</dd>
</dl>
</li>
</ul>
<a name="inSameFamily-org.apache.calcite.rel.type.RelDataType-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>inSameFamily</h4>
<pre>public static&nbsp;boolean&nbsp;inSameFamily(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;t1,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;t2)</pre>
<dl>
<dt><span class="returnLabel">返回:</span></dt>
<dd>true if two types are in same type family</dd>
</dl>
</li>
</ul>
<a name="inSameFamilyOrNull-org.apache.calcite.rel.type.RelDataType-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>inSameFamilyOrNull</h4>
<pre>public static&nbsp;boolean&nbsp;inSameFamilyOrNull(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;t1,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;t2)</pre>
<dl>
<dt><span class="returnLabel">返回:</span></dt>
<dd>true if two types are in same type family, or one or the other is
of type <a href="../../../../../org/apache/calcite/sql/type/SqlTypeName.html#NULL"><code>SqlTypeName.NULL</code></a>.</dd>
</dl>
</li>
</ul>
<a name="inCharOrBinaryFamilies-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>inCharOrBinaryFamilies</h4>
<pre>public static&nbsp;boolean&nbsp;inCharOrBinaryFamilies(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</pre>
<dl>
<dt><span class="returnLabel">返回:</span></dt>
<dd>true if type family is either character or binary</dd>
</dl>
</li>
</ul>
<a name="isLob-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isLob</h4>
<pre>public static&nbsp;boolean&nbsp;isLob(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</pre>
<dl>
<dt><span class="returnLabel">返回:</span></dt>
<dd>true if type is a LOB of some kind</dd>
</dl>
</li>
</ul>
<a name="isBoundedVariableWidth-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isBoundedVariableWidth</h4>
<pre>public static&nbsp;boolean&nbsp;isBoundedVariableWidth(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</pre>
<dl>
<dt><span class="returnLabel">返回:</span></dt>
<dd>true if type is variable width with bounded precision</dd>
</dl>
</li>
</ul>
<a name="isIntType-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isIntType</h4>
<pre>public static&nbsp;boolean&nbsp;isIntType(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</pre>
<dl>
<dt><span class="returnLabel">返回:</span></dt>
<dd>true if type is one of the integer types</dd>
</dl>
</li>
</ul>
<a name="isDecimal-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isDecimal</h4>
<pre>public static&nbsp;boolean&nbsp;isDecimal(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</pre>
<dl>
<dt><span class="returnLabel">返回:</span></dt>
<dd>true if type is decimal</dd>
</dl>
</li>
</ul>
<a name="isDouble-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isDouble</h4>
<pre>public static&nbsp;boolean&nbsp;isDouble(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</pre>
<dl>
<dt><span class="returnLabel">返回:</span></dt>
<dd>true if type is double</dd>
</dl>
</li>
</ul>
<a name="isBigint-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isBigint</h4>
<pre>public static&nbsp;boolean&nbsp;isBigint(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</pre>
<dl>
<dt><span class="returnLabel">返回:</span></dt>
<dd>true if type is bigint</dd>
</dl>
</li>
</ul>
<a name="isExactNumeric-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isExactNumeric</h4>
<pre>public static&nbsp;boolean&nbsp;isExactNumeric(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</pre>
<dl>
<dt><span class="returnLabel">返回:</span></dt>
<dd>true if type is numeric with exact precision</dd>
</dl>
</li>
</ul>
<a name="hasScale-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasScale</h4>
<pre>public static&nbsp;boolean&nbsp;hasScale(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</pre>
<div class="block">Returns whether a type's scale is set.</div>
</li>
</ul>
<a name="maxValue-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>maxValue</h4>
<pre>public static&nbsp;long&nbsp;maxValue(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</pre>
<div class="block">Returns the maximum value of an integral type, as a long value</div>
</li>
</ul>
<a name="isApproximateNumeric-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isApproximateNumeric</h4>
<pre>public static&nbsp;boolean&nbsp;isApproximateNumeric(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</pre>
<dl>
<dt><span class="returnLabel">返回:</span></dt>
<dd>true if type is numeric with approximate precision</dd>
</dl>
</li>
</ul>
<a name="isNumeric-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isNumeric</h4>
<pre>public static&nbsp;boolean&nbsp;isNumeric(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</pre>
<dl>
<dt><span class="returnLabel">返回:</span></dt>
<dd>true if type is numeric</dd>
</dl>
</li>
</ul>
<a name="isNull-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isNull</h4>
<pre>public static&nbsp;boolean&nbsp;isNull(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</pre>
<dl>
<dt><span class="returnLabel">返回:</span></dt>
<dd>true if type is null.</dd>
</dl>
</li>
</ul>
<a name="sameNamedType-org.apache.calcite.rel.type.RelDataType-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sameNamedType</h4>
<pre>public static&nbsp;boolean&nbsp;sameNamedType(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;t1,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;t2)</pre>
<div class="block">Tests whether two types have the same name and structure, possibly with
differing modifiers. For example, VARCHAR(1) and VARCHAR(10) are
considered the same, while VARCHAR(1) and CHAR(1) are considered
different. Likewise, VARCHAR(1) MULTISET and VARCHAR(10) MULTISET are
considered the same.</div>
<dl>
<dt><span class="returnLabel">返回:</span></dt>
<dd>true if types have same name and structure</dd>
</dl>
</li>
</ul>
<a name="getMaxByteSize-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaxByteSize</h4>
<pre>public static&nbsp;int&nbsp;getMaxByteSize(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</pre>
<div class="block">Computes the maximum number of bytes required to represent a value of a
type having user-defined precision. This computation assumes no overhead
such as length indicators and NUL-terminators. Complex types for which
multiple representations are possible (e.g. DECIMAL or TIMESTAMP) return
0.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>type</code> - type for which to compute storage</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>maximum bytes, or 0 for a fixed-width type or type with unknown
maximum</dd>
</dl>
</li>
</ul>
<a name="getMinValue-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMinValue</h4>
<pre>public static&nbsp;long&nbsp;getMinValue(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</pre>
<div class="block">Determines the minimum unscaled value of a numeric type</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>type</code> - a numeric type</dd>
</dl>
</li>
</ul>
<a name="getMaxValue-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaxValue</h4>
<pre>public static&nbsp;long&nbsp;getMaxValue(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</pre>
<div class="block">Determines the maximum unscaled value of a numeric type</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>type</code> - a numeric type</dd>
</dl>
</li>
</ul>
<a name="isJavaPrimitive-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isJavaPrimitive</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="java.lang中的类或接口">@Deprecated</a>
public static&nbsp;boolean&nbsp;isJavaPrimitive(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</pre>
<div class="block"><span class="deprecatedLabel">已过时。</span>&nbsp;</div>
<dl>
<dt><span class="returnLabel">返回:</span></dt>
<dd>true if type has a representation as a Java primitive (ignoring
nullability)</dd>
</dl>
</li>
</ul>
<a name="getPrimitiveWrapperJavaClassName-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPrimitiveWrapperJavaClassName</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="java.lang中的类或接口">@Deprecated</a>
public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="java.lang中的类或接口">String</a>&nbsp;getPrimitiveWrapperJavaClassName(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</pre>
<div class="block"><span class="deprecatedLabel">已过时。</span>&nbsp;</div>
<dl>
<dt><span class="returnLabel">返回:</span></dt>
<dd>class name of the wrapper for the primitive data type.</dd>
</dl>
</li>
</ul>
<a name="getNumericJavaClassName-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNumericJavaClassName</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="java.lang中的类或接口">@Deprecated</a>
public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="java.lang中的类或接口">String</a>&nbsp;getNumericJavaClassName(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</pre>
<div class="block"><span class="deprecatedLabel">已过时。</span>&nbsp;</div>
<dl>
<dt><span class="returnLabel">返回:</span></dt>
<dd>class name of the numeric data type.</dd>
</dl>
</li>
</ul>
<a name="canAssignFrom-org.apache.calcite.rel.type.RelDataType-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>canAssignFrom</h4>
<pre>public static&nbsp;boolean&nbsp;canAssignFrom(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;toType,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;fromType)</pre>
<div class="block">Tests whether a value can be assigned to a site.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>toType</code> - type of the target site</dd>
<dd><code>fromType</code> - type of the source value</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>true iff assignable</dd>
</dl>
</li>
</ul>
<a name="areCharacterSetsMismatched-org.apache.calcite.rel.type.RelDataType-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>areCharacterSetsMismatched</h4>
<pre>public static&nbsp;boolean&nbsp;areCharacterSetsMismatched(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;t1,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;t2)</pre>
<div class="block">Determines whether two types both have different character sets. If one
or the other type has no character set (e.g. in cast from INT to
VARCHAR), that is not a mismatch.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>t1</code> - first type</dd>
<dd><code>t2</code> - second type</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>true iff mismatched</dd>
</dl>
</li>
</ul>
<a name="canCastFrom-org.apache.calcite.rel.type.RelDataType-org.apache.calcite.rel.type.RelDataType-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>canCastFrom</h4>
<pre>public static&nbsp;boolean&nbsp;canCastFrom(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;toType,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;fromType,
boolean&nbsp;coerce)</pre>
<div class="block">Compares two types and returns true if fromType can be cast to toType.
<p>REVIEW jvs 17-Dec-2004: the coerce param below shouldn't really be
necessary. We're using it as a hack because
<a href="../../../../../org/apache/calcite/sql/type/SqlTypeFactoryImpl.html#leastRestrictive-java.util.List-"><code>SqlTypeFactoryImpl.leastRestrictive(java.util.List&lt;org.apache.calcite.rel.type.RelDataType&gt;)</code></a> isn't complete enough
yet. Once it is, this param (and the non-coerce rules of
<a href="../../../../../org/apache/calcite/sql/type/SqlTypeAssignmentRule.html" title="org.apache.calcite.sql.type中的类"><code>SqlTypeAssignmentRule</code></a>) should go away.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>toType</code> - target of assignment</dd>
<dd><code>fromType</code> - source of assignment</dd>
<dd><code>coerce</code> - if true, the SQL rules for CAST are used; if false, the
rules are similar to Java; e.g. you can't assign short x =
(int) y, and you can't assign int x = (String) z.</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>true iff cast is legal</dd>
</dl>
</li>
</ul>
<a name="flattenRecordType-org.apache.calcite.rel.type.RelDataTypeFactory-org.apache.calcite.rel.type.RelDataType-int:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>flattenRecordType</h4>
<pre>public static&nbsp;<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;flattenRecordType(<a href="../../../../../org/apache/calcite/rel/type/RelDataTypeFactory.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeFactory</a>&nbsp;typeFactory,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;recordType,
int[]&nbsp;flatteningMap)</pre>
<div class="block">Flattens a record type by recursively expanding any fields which are
themselves record types. For each record type, a representative null
value field is also prepended (with state NULL for a null value and FALSE
for non-null), and all component types are asserted to be nullable, since
SQL doesn't allow NOT NULL to be specified on attributes.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>typeFactory</code> - factory which should produced flattened type</dd>
<dd><code>recordType</code> - type with possible nesting</dd>
<dd><code>flatteningMap</code> - if non-null, receives map from unflattened ordinal
to flattened ordinal (must have length at least
recordType.getFieldList().size())</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>flattened equivalent</dd>
</dl>
</li>
</ul>
<a name="needsNullIndicator-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>needsNullIndicator</h4>
<pre>public static&nbsp;boolean&nbsp;needsNullIndicator(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;recordType)</pre>
</li>
</ul>
<a name="convertTypeToSpec-org.apache.calcite.rel.type.RelDataType-java.lang.String-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>convertTypeToSpec</h4>
<pre>public static&nbsp;<a href="../../../../../org/apache/calcite/sql/SqlDataTypeSpec.html" title="org.apache.calcite.sql中的类">SqlDataTypeSpec</a>&nbsp;convertTypeToSpec(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="java.lang中的类或接口">String</a>&nbsp;charSetName,
int&nbsp;maxPrecision)</pre>
<div class="block">Converts an instance of RelDataType to an instance of SqlDataTypeSpec.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>type</code> - type descriptor</dd>
<dd><code>charSetName</code> - charSet name</dd>
<dd><code>maxPrecision</code> - The max allowed precision.</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>corresponding parse representation</dd>
</dl>
</li>
</ul>
<a name="convertTypeToSpec-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>convertTypeToSpec</h4>
<pre>public static&nbsp;<a href="../../../../../org/apache/calcite/sql/SqlDataTypeSpec.html" title="org.apache.calcite.sql中的类">SqlDataTypeSpec</a>&nbsp;convertTypeToSpec(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</pre>
<div class="block">Converts an instance of RelDataType to an instance of SqlDataTypeSpec.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>type</code> - type descriptor</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>corresponding parse representation</dd>
</dl>
</li>
</ul>
<a name="createMultisetType-org.apache.calcite.rel.type.RelDataTypeFactory-org.apache.calcite.rel.type.RelDataType-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createMultisetType</h4>
<pre>public static&nbsp;<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;createMultisetType(<a href="../../../../../org/apache/calcite/rel/type/RelDataTypeFactory.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeFactory</a>&nbsp;typeFactory,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type,
boolean&nbsp;nullable)</pre>
</li>
</ul>
<a name="createArrayType-org.apache.calcite.rel.type.RelDataTypeFactory-org.apache.calcite.rel.type.RelDataType-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createArrayType</h4>
<pre>public static&nbsp;<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;createArrayType(<a href="../../../../../org/apache/calcite/rel/type/RelDataTypeFactory.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeFactory</a>&nbsp;typeFactory,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type,
boolean&nbsp;nullable)</pre>
</li>
</ul>
<a name="createMapType-org.apache.calcite.rel.type.RelDataTypeFactory-org.apache.calcite.rel.type.RelDataType-org.apache.calcite.rel.type.RelDataType-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createMapType</h4>
<pre>public static&nbsp;<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;createMapType(<a href="../../../../../org/apache/calcite/rel/type/RelDataTypeFactory.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeFactory</a>&nbsp;typeFactory,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;keyType,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;valueType,
boolean&nbsp;nullable)</pre>
</li>
</ul>
<a name="addCharsetAndCollation-org.apache.calcite.rel.type.RelDataType-org.apache.calcite.rel.type.RelDataTypeFactory-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addCharsetAndCollation</h4>
<pre>public static&nbsp;<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;addCharsetAndCollation(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type,
<a href="../../../../../org/apache/calcite/rel/type/RelDataTypeFactory.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeFactory</a>&nbsp;typeFactory)</pre>
<div class="block">Adds collation and charset to a character type, returns other types
unchanged.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>type</code> - Type</dd>
<dd><code>typeFactory</code> - Type factory</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>Type with added charset and collation, or unchanged type if it is
not a char type.</dd>
</dl>
</li>
</ul>
<a name="equalSansNullability-org.apache.calcite.rel.type.RelDataTypeFactory-org.apache.calcite.rel.type.RelDataType-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>equalSansNullability</h4>
<pre>public static&nbsp;boolean&nbsp;equalSansNullability(<a href="../../../../../org/apache/calcite/rel/type/RelDataTypeFactory.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeFactory</a>&nbsp;factory,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type1,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type2)</pre>
<div class="block">Returns whether two types are equal, ignoring nullability.
<p>They need not come from the same factory.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>factory</code> - Type factory</dd>
<dd><code>type1</code> - First type</dd>
<dd><code>type2</code> - Second type</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>whether types are equal, ignoring nullability</dd>
</dl>
</li>
</ul>
<a name="equalAsStructSansNullability-org.apache.calcite.rel.type.RelDataTypeFactory-org.apache.calcite.rel.type.RelDataType-org.apache.calcite.rel.type.RelDataType-org.apache.calcite.sql.validate.SqlNameMatcher-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>equalAsStructSansNullability</h4>
<pre>public static&nbsp;boolean&nbsp;equalAsStructSansNullability(<a href="../../../../../org/apache/calcite/rel/type/RelDataTypeFactory.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeFactory</a>&nbsp;factory,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type1,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type2,
<a href="../../../../../org/apache/calcite/sql/validate/SqlNameMatcher.html" title="org.apache.calcite.sql.validate中的接口">SqlNameMatcher</a>&nbsp;nameMatcher)</pre>
<div class="block">Returns whether two struct types are equal, ignoring nullability.
<p>They do not need to come from the same factory.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>factory</code> - Type factory</dd>
<dd><code>type1</code> - First type</dd>
<dd><code>type2</code> - Second type</dd>
<dd><code>nameMatcher</code> - Name matcher used to compare the field names, if null,
the field names are also ignored</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>Whether types are equal, ignoring nullability</dd>
</dl>
</li>
</ul>
<a name="findField-org.apache.calcite.rel.type.RelDataType-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>findField</h4>
<pre>public static&nbsp;int&nbsp;findField(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="java.lang中的类或接口">String</a>&nbsp;fieldName)</pre>
<div class="block">Returns the ordinal of a given field in a record type, or -1 if the field
is not found.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>type</code> - Record type</dd>
<dd><code>fieldName</code> - Name of field</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>Ordinal of field</dd>
</dl>
</li>
</ul>
<a name="projectTypes-org.apache.calcite.rel.type.RelDataType-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>projectTypes</h4>
<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="java.util中的类或接口">List</a>&lt;<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&gt;&nbsp;projectTypes(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;rowType,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="java.util中的类或接口">List</a>&lt;? extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="java.lang中的类或接口">Number</a>&gt;&nbsp;requiredFields)</pre>
<div class="block">Selects data types of the specified fields from an input row type.
This is useful when identifying data types of a function that is going
to operate on inputs that are specified as field ordinals (e.g.
aggregate calls).</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>rowType</code> - input row type</dd>
<dd><code>requiredFields</code> - ordinals of the projected fields</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>list of data types that are requested by requiredFields</dd>
</dl>
</li>
</ul>
<a name="createEmptyStructType-org.apache.calcite.rel.type.RelDataTypeFactory-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createEmptyStructType</h4>
<pre>public static&nbsp;<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;createEmptyStructType(<a href="../../../../../org/apache/calcite/rel/type/RelDataTypeFactory.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeFactory</a>&nbsp;typeFactory)</pre>
<div class="block">Records a struct type with no fields.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>typeFactory</code> - Type factory</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>Struct type with no fields</dd>
</dl>
</li>
</ul>
<a name="isFlat-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isFlat</h4>
<pre>public static&nbsp;boolean&nbsp;isFlat(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</pre>
<div class="block">Returns whether a type is flat. It is not flat if it is a record type that
has one or more fields that are themselves record types.</div>
</li>
</ul>
<a name="isComparable-org.apache.calcite.rel.type.RelDataType-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isComparable</h4>
<pre>public static&nbsp;boolean&nbsp;isComparable(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type1,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type2)</pre>
<div class="block">Returns whether two types are comparable. They need to be scalar types of
the same family, or struct types whose fields are pairwise comparable.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>type1</code> - First type</dd>
<dd><code>type2</code> - Second type</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>Whether types are comparable</dd>
</dl>
</li>
</ul>
<a name="leastRestrictiveForComparison-org.apache.calcite.rel.type.RelDataTypeFactory-org.apache.calcite.rel.type.RelDataType-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>leastRestrictiveForComparison</h4>
<pre>public static&nbsp;<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;leastRestrictiveForComparison(<a href="../../../../../org/apache/calcite/rel/type/RelDataTypeFactory.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeFactory</a>&nbsp;typeFactory,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type1,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type2)</pre>
<div class="block">Returns the least restrictive type T, such that a value of type T can be
compared with values of type <code>type0</code> and <code>type1</code> using
<code>=</code>.</div>
</li>
</ul>
<a name="family-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>family</h4>
<pre>protected static&nbsp;<a href="../../../../../org/apache/calcite/rel/type/RelDataTypeFamily.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeFamily</a>&nbsp;family(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</pre>
</li>
</ul>
<a name="areSameFamily-java.lang.Iterable-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>areSameFamily</h4>
<pre>public static&nbsp;boolean&nbsp;areSameFamily(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="java.lang中的类或接口">Iterable</a>&lt;<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&gt;&nbsp;types)</pre>
<div class="block">Returns whether all types in a collection have the same family, as
determined by <a href="../../../../../org/apache/calcite/sql/type/SqlTypeUtil.html#isSameFamily-org.apache.calcite.rel.type.RelDataType-org.apache.calcite.rel.type.RelDataType-"><code>isSameFamily(RelDataType, RelDataType)</code></a>.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>types</code> - Types to check</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>true if all types are of the same family</dd>
</dl>
</li>
</ul>
<a name="isUnicode-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isUnicode</h4>
<pre>public static&nbsp;boolean&nbsp;isUnicode(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</pre>
<div class="block">Checks whether a type represents Unicode character data.</div>
<dl>
<dt><span class="paramLabel">参数:</span></dt>
<dd><code>type</code> - type to test</dd>
<dt><span class="returnLabel">返回:</span></dt>
<dd>whether type represents Unicode character data</dd>
</dl>
</li>
</ul>
<a name="maxPrecision-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>maxPrecision</h4>
<pre>public static&nbsp;int&nbsp;maxPrecision(int&nbsp;p0,
int&nbsp;p1)</pre>
<div class="block">Returns the larger of two precisions, treating
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html#PRECISION_NOT_SPECIFIED"><code>RelDataType.PRECISION_NOT_SPECIFIED</code></a> as infinity.</div>
</li>
</ul>
<a name="comparePrecision-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>comparePrecision</h4>
<pre>public static&nbsp;int&nbsp;comparePrecision(int&nbsp;p0,
int&nbsp;p1)</pre>
<div class="block">Returns whether a precision is greater or equal than another,
treating <a href="../../../../../org/apache/calcite/rel/type/RelDataType.html#PRECISION_NOT_SPECIFIED"><code>RelDataType.PRECISION_NOT_SPECIFIED</code></a> as infinity.</div>
</li>
</ul>
<a name="isArray-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isArray</h4>
<pre>public static&nbsp;boolean&nbsp;isArray(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</pre>
<dl>
<dt><span class="returnLabel">返回:</span></dt>
<dd>true if type is ARRAY</dd>
</dl>
</li>
</ul>
<a name="isMap-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isMap</h4>
<pre>public static&nbsp;boolean&nbsp;isMap(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</pre>
<dl>
<dt><span class="returnLabel">返回:</span></dt>
<dd>true if type is MAP</dd>
</dl>
</li>
</ul>
<a name="isCharacter-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isCharacter</h4>
<pre>public static&nbsp;boolean&nbsp;isCharacter(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</pre>
<dl>
<dt><span class="returnLabel">返回:</span></dt>
<dd>true if type is CHARACTER</dd>
</dl>
</li>
</ul>
<a name="hasCharactor-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasCharactor</h4>
<pre>public static&nbsp;boolean&nbsp;hasCharactor(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</pre>
<dl>
<dt><span class="returnLabel">返回:</span></dt>
<dd>true if the type is a CHARACTER or contains a CHARACTER type</dd>
</dl>
</li>
</ul>
<a name="isString-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isString</h4>
<pre>public static&nbsp;boolean&nbsp;isString(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</pre>
<dl>
<dt><span class="returnLabel">返回:</span></dt>
<dd>true if type is STRING</dd>
</dl>
</li>
</ul>
<a name="isBoolean-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isBoolean</h4>
<pre>public static&nbsp;boolean&nbsp;isBoolean(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</pre>
<dl>
<dt><span class="returnLabel">返回:</span></dt>
<dd>true if type is BOOLEAN</dd>
</dl>
</li>
</ul>
<a name="isBinary-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isBinary</h4>
<pre>public static&nbsp;boolean&nbsp;isBinary(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</pre>
<dl>
<dt><span class="returnLabel">返回:</span></dt>
<dd>true if type is BINARY</dd>
</dl>
</li>
</ul>
<a name="isAtomic-org.apache.calcite.rel.type.RelDataType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isAtomic</h4>
<pre>public static&nbsp;boolean&nbsp;isAtomic(<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type)</pre>
<dl>
<dt><span class="returnLabel">返回:</span></dt>
<dd>true if type is Atomic</dd>
</dl>
</li>
</ul>
<a name="getMaxPrecisionScaleDecimal-org.apache.calcite.rel.type.RelDataTypeFactory-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaxPrecisionScaleDecimal</h4>
<pre>public static&nbsp;<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;getMaxPrecisionScaleDecimal(<a href="../../../../../org/apache/calcite/rel/type/RelDataTypeFactory.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeFactory</a>&nbsp;factory)</pre>
<div class="block">Get decimal with max precision/scale for the current type system.</div>
</li>
</ul>
<a name="extractLastNFields-org.apache.calcite.rel.type.RelDataTypeFactory-org.apache.calcite.rel.type.RelDataType-int-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>extractLastNFields</h4>
<pre>public static&nbsp;<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;extractLastNFields(<a href="../../../../../org/apache/calcite/rel/type/RelDataTypeFactory.html" title="org.apache.calcite.rel.type中的接口">RelDataTypeFactory</a>&nbsp;typeFactory,
<a href="../../../../../org/apache/calcite/rel/type/RelDataType.html" title="org.apache.calcite.rel.type中的接口">RelDataType</a>&nbsp;type,
int&nbsp;numToKeep)</pre>
<div class="block">Keeps only the last N fields and returns the new struct type.</div>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="跳过导航链接">跳过导航链接</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="导航">
<li><a href="../../../../../overview-summary.html">概览</a></li>
<li><a href="package-summary.html">程序包</a></li>
<li class="navBarCell1Rev"></li>
<li><a href="package-tree.html"></a></li>
<li><a href="../../../../../deprecated-list.html">已过时</a></li>
<li><a href="../../../../../index-all.html">索引</a></li>
<li><a href="../../../../../help-doc.html">帮助</a></li>
</ul>
<div class="aboutLanguage"><b>Apache Calcite</b></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/calcite/sql/type/SqlTypeTransforms.html" title="org.apache.calcite.sql.type中的类"><span class="typeNameLink">上一个类</span></a></li>
<li><a href="../../../../../org/apache/calcite/sql/type/TableFunctionReturnTypeInference.html" title="org.apache.calcite.sql.type中的类"><span class="typeNameLink">下一个类</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/calcite/sql/type/SqlTypeUtil.html" target="_top">框架</a></li>
<li><a href="SqlTypeUtil.html" target="_top">无框架</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">所有类</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>概要:&nbsp;</li>
<li>嵌套&nbsp;|&nbsp;</li>
<li>字段&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">构造器</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">方法</a></li>
</ul>
<ul class="subNavList">
<li>详细资料:&nbsp;</li>
<li>字段&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">构造器</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">方法</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &copy; 2012-2020 Apache Software Foundation. All Rights Reserved.</small></p>
</body>
</html>