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-');