

 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.

# Skalar SQL UDFs
<a name="udf-creating-a-scalar-sql-udf"></a>

Sebuah skalar SQL UDF menggabungkan klausa SQL SELECT yang berjalan ketika fungsi dipanggil dan mengembalikan nilai tunggal. [CREATE FUNCTION](r_CREATE_FUNCTION.md)Perintah mendefinisikan parameter berikut:
+ (Opsional) Argumen masukan. Setiap argumen harus memiliki tipe data. 
+ Satu tipe data pengembalian.
+ Satu klausa SQL SELECT. Dalam klausa SELECT, lihat argumen masukan menggunakan \$11, \$12, dan seterusnya, sesuai dengan urutan argumen dalam definisi fungsi. 

Tipe data input dan pengembalian dapat berupa tipe data Amazon Redshift standar apa pun.

Jangan sertakan klausa FROM dalam klausa SELECT Anda. Sebagai gantinya, sertakan klausa FROM dalam pernyataan SQL yang memanggil SQL UDF. 

Klausa SELECT tidak dapat menyertakan salah satu jenis klausa berikut:
+ FROM
+ KE DALAM
+ WHERE
+ GROUP BY
+ ORDER BY
+ LIMIT

# Contoh fungsi SQL skalar
<a name="udf-scalar-sql-function-example"></a>

Contoh berikut menciptakan fungsi yang membandingkan dua angka dan mengembalikan nilai yang lebih besar. Untuk informasi selengkapnya, lihat [CREATE FUNCTION](r_CREATE_FUNCTION.md).

```
create function f_sql_greater (float, float)
  returns float
stable
as $$
  select case when $1 > $2 then $1
    else $2
  end
$$ language sql;
```

Kueri berikut memanggil fungsi f\$1sql\$1greater baru untuk menanyakan tabel PENJUALAN dan mengembalikan KOMISI atau 20 persen PRICEPAID, mana yang lebih besar.

```
select f_sql_greater(commission, pricepaid*0.20) from sales;
```