

 Amazon Redshift tidak akan lagi mendukung pembuatan Python UDFs baru mulai Patch 198. Python yang ada UDFs akan terus berfungsi hingga 30 Juni 2026. Untuk informasi lebih lanjut, lihat [posting blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# TEXT\$1TO\$1NUMERIC\$1ALT
<a name="r_TEXT_TO_NUMERIC_ALT"></a>

TEXT\$1TO\$1NUMERIC\$1ALT melakukan operasi cast gaya Teradata untuk mengonversi string karakter ke format data numerik. 

## Sintaksis
<a name="r_TEXT_TO_NUMERIC_ALT-synopsis"></a>

```
TEXT_TO_NUMERIC_ALT (expression [, 'format'] [, precision, scale])
```

## Argumen
<a name="r_TEXT_TO_NUMERIC_ALT-arguments"></a>

 *ekspresi*   
Ekspresi yang mengevaluasi satu atau lebih nilai CHAR atau VARCHAR, seperti nama kolom atau literal. Mengkonversi nilai null mengembalikan nol. String kosong atau kosong dikonversi menjadi 0. 

 *format*   
Sebuah string literal yang mendefinisikan format ekspresi input. Untuk informasi selengkapnya, lihat [Karakter pemformatan gaya Teradata untuk data numerik](r_Numeric-format-teradata.md). 

 *presisi*   
Jumlah digit dalam hasil numerik. Defaultnya adalah 38. 

 *skala*   
Jumlah digit di sebelah kanan titik desimal dalam hasil numerik. Default-nya adalah 0. 

## Jenis pengembalian
<a name="r_TEXT_TO_NUMERIC_ALT-return-type"></a>

TEXT\$1TO\$1NUMERIC\$1ALT mengembalikan nomor DESIMAL.

Amazon Redshift mengembalikan kesalahan jika konversi ke frasa *format* yang Anda tentukan tidak berhasil.

*Amazon Redshift melemparkan string *ekspresi* input ke tipe numerik dengan presisi tertinggi yang Anda tentukan untuk tipe tersebut dalam opsi presisi.* Jika panjang nilai numerik melebihi nilai yang Anda tentukan untuk *presisi*, Amazon Redshift membulatkan nilai numerik sesuai dengan aturan berikut:
+ Jika panjang hasil cast melebihi panjang yang Anda tentukan dalam frasa *format*, Amazon Redshift mengembalikan kesalahan.
+ Jika hasilnya dilemparkan ke nilai numerik, hasilnya dibulatkan ke nilai terdekat. Jika bagian pecahan tepat di tengah-tengah antara hasil gips atas dan bawah, hasilnya dibulatkan ke nilai genap terdekat.

## Contoh
<a name="r_TEXT_TO_NUMERIC_ALT-examples"></a>

Contoh berikut mengkonversi string *ekspresi* input '1.5' ke nilai numerik '2'. Karena pernyataan tidak menentukan *skala*, *skala* default ke 0 dan hasil pemeran tidak menyertakan hasil pecahan. Karena .5 berada di tengah-tengah antara 1 dan 2, hasil pemeran dibulatkan ke nilai genap 2.

```
select text_to_numeric_alt('1.5');
```

```
 text_to_numeric_alt
---------------------
                   2
```

Contoh berikut mengkonversi string *ekspresi* input '2.51' ke nilai numerik 3. Karena pernyataan tidak menentukan nilai *skala*, *skala* default ke 0 dan hasil pemeran tidak menyertakan hasil pecahan. Karena 0,51 lebih dekat ke 3 dari 2, hasil pemeran dibulatkan ke nilai 3.

```
select text_to_numeric_alt('2.51');
```

```
 text_to_numeric_alt
---------------------
                   3
```

Contoh berikut mengkonversi string *ekspresi* input 123.52501 dengan *presisi* 10 dan *skala* 2 ke nilai numerik 123.53. 

```
select text_to_numeric_alt('123.52501', 10, 2);
```

```
 text_to_numeric_alt
---------------------
               123.53
```

Contoh berikut mengkonversi string *ekspresi* input '123 \$1'dengan frase *format*' 999S 'ke angka 1230. Karakter S menunjukkan Desimal Zonasi Ditandatangani. Untuk informasi selengkapnya, lihat [Karakter pemformatan gaya Teradata untuk data numerik](r_Numeric-format-teradata.md).

```
select text_to_numeric_alt('123{', '999S');
```

```
text_to_int_alt
----------
      1230
```

Contoh berikut mengkonversi string *ekspresi* input 'USD123' dengan frase *format* 'C9 (I) 'ke angka 124. Lihat [Karakter pemformatan gaya Teradata untuk data numerik](r_Numeric-format-teradata.md).

```
select text_to_numeric_alt('USD123.9', 'C9(I)');
```

```
text_to_numeric_alt
----------
       124
```

Contoh berikut menentukan kolom tabel sebagai *ekspresi* input.

```
select text_to_numeric_alt(a), text_to_numeric_alt(b) from t_text2numeric order by 1;
```

```
           text_to_numeric_alt           |           text_to_numeric_alt
-----------------------------------------+-----------------------------------------
 -99999999999999999999999999999999999999 | -99999999999999999999999999999999999999
                                  -12300 |                                  -12300
                                     123 |                                     123
                                     123 |                                     123
  99999999999999999999999999999999999999 |  99999999999999999999999999999999999999
```

Berikut ini adalah definisi tabel dan pernyataan insert untuk contoh ini.

```
create table  t_text2numeric (a varchar(200), b char(200));
```

```
insert into  t_text2numeric values
('123', '123'),
('+123.456', '+123.456'),
('-' || repeat('9', 38), '-' || repeat('9', 38)),
(repeat('9', 38) || '+', repeat('9', 38) || '+'),
('-123E2', '-123E2');
```