<html><head>		<META http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" href="josh.css"></head><body bgcolor="#FFFFFF">
<div id="説明">
			<table width="100%" cellspacing="0" cellpadding="0" border="0">
				<tr><td valign="top" class="name">SQL 関数</td><td valign="top" nowrap class="compatibility">&#160; </td>
				</tr>
				<tr>
					<td colspan="2" class="divider"><img src="dwres:18084" width="100%" height="1"></td>
				</tr>
				<tr>
					<td valign="top" colspan="2" class="Description"><p> 関数とは、SQL99 コマンドセットにおける特殊な種類のコマンドワードのことです。基本的に、関数は一語のコマンドで、単一の値を返します。関数の値は、データベース値のリストから平均値を計算する関数のように、入力パラメータによって決定されます。ただし、現在のシステム時刻を返す CURRENT_TIME など、多くの関数では入力パラメータを使用しません。</p><p>SQL99 標準では、有用な関数が数多くサポートされています。本章では、これらの関数について詳しく説明し、使用例を示します。さらに、各データベースベンダーが提供している、SQL 標準には含まれない多数の内部関数についても、データベースごとにその一覧と説明を示します。</p><p>また、ほとんどのデータベースベンダーは、 ユーザー定義関数 (UDF) の作成もサポートしています。UDF の詳細については、第 3 章の CREATE FUNCTION コマンドの項を参照してください。</p>
					</td>
				</tr>
				<tr><td valign="top" colspan="2" class="CLEARSEPARATION">&#160;</td>
				</tr>
				<tr>
					<td valign="top" colspan="2" class="description"><span class="title">決定性関数と非決定性関数</span></td>
				</tr>
				<tr>
					<td><p>関数は、決定性関数と非決定性関数に分類できます。  <span class="emphasis">決定性</span>関数は、入力値が同じであれば、常に同じ結果を返します。<span class="emphasis">非決定性</span>関数は、入力値が同じであっても、呼び出されるたびに異なる結果を返します。</p>
						  <p>両者の区別が重要なのは、ビュー、ユーザー定義関数、およびストアドプロシージャーでの関数の使い方に影響があるためです。適用される制限は実装によって異なりますが、これらのオブジェクトでは、その定義コード内で決定性関数しか使用できない場合があります。たとえば Microsoft SQL Server では、列式でインデックスを作成できますが、これは式に非決定性関数が含まれていない場合に限られます。これらの規則と制限はベンダーごとに異なります。関数を使用する際は、ベンダーのマニュアルを参照してください。</p>
					</td>
				</tr>
			</table>
		</div>
	</body></html>