TEXT_TO_INT_ALT - Amazon Redshift

TEXT_TO_INT_ALT

TEXT_TO_INT_ALT は、Teradata スタイルの形式を使用して文字列を整数に変換します。結果の小数桁は切り捨てられます。

構文

TEXT_TO_INT_ALT (expression [ , 'format'])

引数

expression

1 つ以上の CHAR 値または VARCHAR 値 (列名、リテラル文字列など) になる式。null 値を変換すると、null が返されます。この関数は、空白または空の文字列を 0 に変換します。

format

入力式の形式を定義する文字列リテラル。指定できるフォーマット文字の詳細については、「数値データの Teradata スタイルの書式文字」を参照してください。

戻り型

TEXT_TO_INT_ALT は INTEGER 値を返します。

キャスト結果の小数部分は切り捨てられます。

指定した形式のフレーズへの変換に成功できなかった場合、Amazon Redshift はエラーを返します。

次の例では、入力の文字列 '123-' を整数 -123 に変換します。

select text_to_int_alt('123-');
text_to_int_alt ---------- -123

次の例では、入力の文字列 '2147483647+' を整数 2147483647 に変換します。

select text_to_int_alt('2147483647+');
text_to_int_alt ---------- 2147483647

次の例は、指数入力の文字列 '-123E-2' を整数 -1 に変換します。

select text_to_int_alt('-123E-2');
text_to_int_alt ---------- -1

次の例では、入力の文字列 '2147483647+' を整数 2147483647 に変換します。

select text_to_int_alt('2147483647+');
text_to_int_alt ---------- 2147483647

次の例では、形式フレーズ '999S' を含む入力の文字列 '123' を整数 1,230 に変換します。S 文字は、符号付きゾーン 10 進数を示します。詳細については、「数値データの Teradata スタイルの書式文字」を参照してください。

select text_to_int_alt('123{', '999S');
text_to_int_alt ---------- 1230

次の例では、形式フレーズ「C9(I)」を含む入力の文字列 'USD123' を整数 123 に変換します。「数値データの Teradata スタイルの書式文字」を参照してください。

select text_to_int_alt('USD123', 'C9(I)');
text_to_int_alt ---------- 123

次の例では、入力としてテーブル列を指定しています。

select text_to_int_alt(a), text_to_int_alt(b) from t_text2int order by 1;
text_to_int_alt | text_to_int_alt -----------------+----------------- -123 | -123 -123 | -123 123 | 123 123 | 123

以下は、この例のテーブル定義と挿入のステートメントです。

create table t_text2int (a varchar(200), b char(200));
insert into t_text2int VALUES('123', '123'),('123.123', '123.123'), ('-123', '-123'), ('123-', '123-');