Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
指定されたデータ型に変換した式の値を返します。
CAST( expression AS datatype )
expression 変換される式。
datatype ターゲットのデータ型。
要求されたデータ型によって異なります。
文字列のタイプを示していない場合は、適切な長さが選択されます。DECIMAL 変換で精度も位取りも指定しない場合は、デフォルト値が選択されます。CAST 関数で精度と位取りを明示的に示すことをおすすめします。
変換で使用する値に基づいて変換する機能変換エラーが発生しないように、元のデータ型の値は新しいデータ型と互換性がある必要があります。
次のチャートを使用して、変換がサポートされているかどうかを判断します。
VARBINARY と UNIQUEIDENTIFIER 間で変換を行うには、VARBINARY 値が 16 バイト長である必要があります。
NUMERIC と VARBINARY 間で変換を行うには、NUMERIC ソースが BIGINT としてもキャスト可能な値を持っている必要があります。
VARCHAR から ST_GEOMETRY に変換するには、VARCHAR ソースが WKT フォーマットまたは EWKT フォーマットのいずれかで有効なジオメトリを表している必要があります。
VARBINARY から ST_GEOMETRY に変換するには、VARBINARY ソースが WKB フォーマットで有効なジオメトリを表している必要があります。
WKB または WKT でフォーマットされているソースから ST_GEOMETRY にキャストするには、0 の SRID が ST_GEOMETRY 値に割り当てられている必要があります。ST_GEOMETRY からキャストする場合、VARCHAR 値は EWKT でフォーマットされ、VARBINARY 値は WKB でフォーマットされます。
HEXTOINT および INTTOHEX 関数を使用すると、16 進値変換を行うことができます。これらの関数の使用の詳細については、16 進値との変換を参照してください。
次の関数は、文字列を日付として使用することを保証します。
SELECT CAST( '2000-10-31' AS DATE );
式 1 + 2 の値を計算し、その結果を 1 文字の文字列にキャストします。
1 + 2
SELECT CAST( 1 + 2 AS CHAR );
次のように CAST 関数を使用して、文字列を短縮できます。
SELECT CAST ( 'Surname' AS CHAR(5) );
VARCHAR と ST_GEOMETRY 間のキャストは通常暗黙的に行われます。たとえば、次の文は、ST_POINT 関数と VARCHAR を使用して ST_GEOMETRY カラムに値を追加します。それぞれの値はテーブルカラム全体で ST_GEOMETRY データ型に暗黙的にキャストされますが、その結果は依然として VARCHAR として示されます。
INSERT INTO T1 VALUES (2, ST_POINT(1,2,0), 'SRID=2163;Point(1 2)');