

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

# Fungsi matematika
<a name="Math_functions-spark"></a>

Bagian ini menjelaskan operator matematika dan fungsi yang didukung dalam AWS Clean Rooms Spark SQL. 

**Topics**
+ [Simbol operator matematika](OPERATOR_SYMBOLS.md)
+ [Fungsi ABS](ABS.md)
+ [Fungsi ACOS](ACOS.md)
+ [Fungsi ASIN](ASIN.md)
+ [Fungsi ATAN](ATAN.md)
+ [ATAN2 fungsi](ATAN2.md)
+ [Fungsi CBRT](CBRT.md)
+ [Fungsi CEILING (atau CEIL)](CEILING_FLOOR.md)
+ [Fungsi COS](COS.md)
+ [Fungsi COT](COT.md)
+ [Fungsi DERAJAT](DEGREES.md)
+ [Fungsi DIV](DIV.md)
+ [Fungsi EXP](EXP.md)
+ [Fungsi FLOOR](FLOOR.md)
+ [Fungsi LN](LN.md)
+ [Fungsi LOG](LOG.md)
+ [Fungsi MOD](MOD.md)
+ [Fungsi PI](PI.md)
+ [Fungsi POWER](POWER.md)
+ [Fungsi RADIANS](RADIANS.md)
+ [Fungsi RAND](RAND.md)
+ [fungsi RANDOM](RANDOM.md)
+ [Fungsi ROUND](ROUND.md)
+ [Fungsi SIGN](SIGN.md)
+ [Fungsi SIN](SIN.md)
+ [Fungsi SQRT](SQRT.md)
+ [Fungsi TRUNC](TRUNC.md)

# Simbol operator matematika
<a name="OPERATOR_SYMBOLS"></a>

 Tabel berikut mencantumkan operator matematika yang didukung. 

## Operator yang didukung
<a name="OPERATOR_SYMBOLS-supported-operators"></a>

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/clean-rooms/latest/sql-reference/OPERATOR_SYMBOLS.html)

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

Hitung komisi yang dibayarkan ditambah biaya penanganan \$12,00 untuk transaksi tertentu: 

```
select commission, (commission + 2.00) as comm
from sales where salesid=10000;

commission | comm
-----------+-------
28.05      | 30.05
(1 row)
```

Hitung 20 persen dari harga jual untuk transaksi tertentu: 

```
select pricepaid, (pricepaid * .20) as twentypct
from sales where salesid=10000;

pricepaid | twentypct
----------+-----------
187.00    |    37.400
(1 row)
```

Forecast penjualan tiket berdasarkan pola pertumbuhan berkelanjutan. Dalam contoh ini, subquery mengembalikan jumlah tiket yang terjual pada tahun 2008. Hasil itu dikalikan secara eksponensial dengan tingkat pertumbuhan berkelanjutan sebesar 5 persen selama 10 tahun. 

```
select (select sum(qtysold) from sales, date
where sales.dateid=date.dateid and year=2008)
^ ((5::float/100)*10) as qty10years;

qty10years
------------------
587.664019657491
(1 row)
```

Temukan total harga yang dibayarkan dan komisi untuk penjualan dengan ID tanggal yang lebih besar dari atau sama dengan 2.000. Kemudian kurangi total komisi dari total harga yang dibayarkan. 

```
select sum (pricepaid) as sum_price, dateid,
sum (commission) as sum_comm, (sum (pricepaid) - sum (commission)) as value
from sales where dateid >= 2000
group by dateid order by dateid limit 10;

 sum_price | dateid | sum_comm |   value
-----------+--------+----------+-----------
 364445.00 |   2044 | 54666.75 | 309778.25
 349344.00 |   2112 | 52401.60 | 296942.40
 343756.00 |   2124 | 51563.40 | 292192.60
 378595.00 |   2116 | 56789.25 | 321805.75
 328725.00 |   2080 | 49308.75 | 279416.25
 349554.00 |   2028 | 52433.10 | 297120.90
 249207.00 |   2164 | 37381.05 | 211825.95
 285202.00 |   2064 | 42780.30 | 242421.70
 320945.00 |   2012 | 48141.75 | 272803.25
 321096.00 |   2016 | 48164.40 | 272931.60
(10 rows)
```

# Fungsi ABS
<a name="ABS"></a>

 ABS menghitung nilai absolut dari suatu angka, di mana angka itu dapat berupa literal atau ekspresi yang mengevaluasi angka. 

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

```
ABS (number)
```

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

 *jumlah*   
Angka atau ekspresi yang mengevaluasi angka. Ini bisa berupa SMALLINT, INTEGER, BIGINT, DECIMAL,, atau type. FLOAT4 FLOAT8 

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

ABS mengembalikan tipe data yang sama dengan argumennya. 

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

Hitung nilai absolut -38: 

```
select abs (-38);
abs
-------
38
(1 row)
```

Hitung nilai absolut (14-76): 

```
select abs (14-76);
abs
-------
62
(1 row)
```

# Fungsi ACOS
<a name="ACOS"></a>

ACOS adalah fungsi trigonometri yang mengembalikan kosinus busur suatu angka. Nilai kembali dalam radian dan berada di antara `0` dan`PI`.

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

```
ACOS(number)
```

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

 *jumlah*   
Parameter input adalah `DOUBLE PRECISION` angka. 

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

`DOUBLE PRECISION`

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

Untuk mengembalikan arc cosinus dari`-1`, gunakan contoh berikut. 

```
SELECT ACOS(-1);

+-------------------+
|       acos        |
+-------------------+
| 3.141592653589793 |
+-------------------+
```

# Fungsi ASIN
<a name="ASIN"></a>

ASIN adalah fungsi trigonometri yang mengembalikan sinus busur dari suatu angka. Nilai kembali dalam radian dan berada di antara `PI/2` dan`-PI/2`. 

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

```
ASIN(number)
```

## Argumen
<a name="ASIN-argument"></a>

 *jumlah*   
Parameter input adalah `DOUBLE PRECISION` angka. 

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

`DOUBLE PRECISION`

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

Untuk mengembalikan sinus busur`1`, gunakan contoh berikut. 

```
SELECT ASIN(1) AS halfpi;

+--------------------+
|       halfpi       |
+--------------------+
| 1.5707963267948966 |
+--------------------+
```

# Fungsi ATAN
<a name="ATAN"></a>

ATAN adalah fungsi trigonometri yang mengembalikan garis singgung busur dari suatu bilangan. Nilai kembali dalam radian dan berada di antara `-PI` dan`PI`.

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

```
ATAN(number)
```

## Argumen
<a name="ATAN-argument"></a>

 *jumlah*   
Parameter input adalah `DOUBLE PRECISION` angka. 

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

`DOUBLE PRECISION`

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

Untuk mengembalikan garis singgung busur `1` dan kalikan dengan 4, gunakan contoh berikut.

```
SELECT ATAN(1) * 4 AS pi;
            
+-------------------+
|        pi         |
+-------------------+
| 3.141592653589793 |
+-------------------+
```

# ATAN2 fungsi
<a name="ATAN2"></a>

ATAN2 adalah fungsi trigonometri yang mengembalikan tangen busur dari satu angka dibagi dengan angka lain. Nilai kembali dalam radian dan berada di antara `PI/2` dan`-PI/2`. 

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

```
ATAN2(number1, number2)
```

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

 *nomor1*   
Sebuah `DOUBLE PRECISION` angka. 

 *nomor2*   
Sebuah `DOUBLE PRECISION` angka. 

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

`DOUBLE PRECISION`

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

Untuk mengembalikan garis singgung busur `2/2` dan kalikan dengan 4, gunakan contoh berikut. 

```
SELECT ATAN2(2,2) * 4 AS PI;

+-------------------+
|        pi         |
+-------------------+
| 3.141592653589793 |
+-------------------+
```

# Fungsi CBRT
<a name="CBRT"></a>

 Fungsi CBRT adalah fungsi matematika yang menghitung akar kubus dari suatu angka. 

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

```
CBRT (number)
```

## Pendapat
<a name="CBRT-argument"></a>

CBRT mengambil nomor PRESISI GANDA sebagai argumen. 

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

CBRT mengembalikan nomor PRESISI GANDA. 

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

Hitung akar kubus dari komisi yang dibayarkan untuk transaksi tertentu: 

```
select cbrt(commission) from sales where salesid=10000;

cbrt
------------------
3.03839539048843
(1 row)
```

# Fungsi CEILING (atau CEIL)
<a name="CEILING_FLOOR"></a>

Fungsi CEILING atau CEIL digunakan untuk membulatkan angka ke bilangan bulat berikutnya. ([Fungsi FLOOR](FLOOR.md)Membulatkan angka ke bawah ke bilangan bulat berikutnya.) 

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

```
CEIL | CEILING(number)
```

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

 *jumlah*   
Angka atau ekspresi yang mengevaluasi ke angka. Ini bisa berupa SMALLINT, INTEGER, BIGINT, DECIMAL,, atau type. FLOAT4 FLOAT8 

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

CEILING dan CEIL mengembalikan tipe data yang sama dengan argumennya. 

## Contoh
<a name="CEILING_FLOOR-example"></a>

Hitung plafon komisi yang dibayarkan untuk transaksi penjualan tertentu: 

```
select ceiling(commission) from sales
where salesid=10000;

ceiling
---------
29
(1 row)
```

# Fungsi COS
<a name="COS"></a>

COS adalah fungsi trigonometri yang mengembalikan kosinus suatu bilangan. Nilai kembalinya dalam radian dan berada di antara `-1` dan`1`, inklusif. 

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

```
COS(double_precision)
```

## Pendapat
<a name="COS-argument"></a>

 *jumlah*   
Parameter input adalah angka presisi ganda. 

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

Fungsi COS mengembalikan angka presisi ganda. 

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

Contoh berikut mengembalikan cosinus dari 0: 

```
select cos(0);
cos
-----
1
(1 row)
```

Contoh berikut mengembalikan kosinus PI: 

```
select cos(pi());
cos
-----
-1
(1 row)
```

# Fungsi COT
<a name="COT"></a>

COT adalah fungsi trigonometri yang mengembalikan kotangen angka. Parameter input harus bukan nol. 

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

```
COT(number)
```

## Pendapat
<a name="COT-argument"></a>

 *jumlah*   
Parameter input adalah `DOUBLE PRECISION` angka. 

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

`DOUBLE PRECISION`

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

Untuk mengembalikan kotangen 1, gunakan contoh berikut. 

```
SELECT COT(1);

+--------------------+
|        cot         |
+--------------------+
| 0.6420926159343306 |
+--------------------+
```

# Fungsi DERAJAT
<a name="DEGREES"></a>

Mengubah sudut dalam radian menjadi setara dalam derajat. 

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

```
DEGREES(number)
```

## Pendapat
<a name="DEGREES-argument"></a>

 *jumlah*   
Parameter input adalah `DOUBLE PRECISION` angka. 

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

`DOUBLE PRECISION`

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

Untuk mengembalikan derajat setara dengan 0,5 radian, gunakan contoh berikut. 

```
SELECT DEGREES(.5);

+-------------------+
|      degrees      |
+-------------------+
| 28.64788975654116 |
+-------------------+
```

Untuk mengkonversi PI radian ke derajat, gunakan contoh berikut. 

```
SELECT DEGREES(pi());

+---------+
| degrees |
+---------+
|     180 |
+---------+
```

# Fungsi DIV
<a name="DIV"></a>

Operator DIV mengembalikan bagian integral dari pembagian dividen oleh pembagi. 

## Sintaksis
<a name="DIV-syntax"></a>

```
dividend div divisor
```

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

 *dividen*   
Ekspresi yang mengevaluasi numerik atau interval.

*pembagi*  
Tipe interval yang cocok jika `dividend` adalah interval, numerik sebaliknya.

## Jenis pengembalian
<a name="DIV-returns"></a>

`BIGINT`

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

Contoh berikut memilih dua kolom dari tabel tupai: `id` kolom, yang berisi pengidentifikasi unik untuk setiap tupai, dan kolom,`age div 2`, yang mewakili pembagian bilangan bulat dari `calculated` kolom usia dengan 2. `age div 2`Perhitungan melakukan pembagian bilangan bulat pada `age` kolom, secara efektif membulatkan usia ke bilangan bulat genap terdekat. Misalnya, jika `age` kolom berisi nilai-nilai seperti 3, 5, 7, dan 10, `age div 2` kolom akan berisi nilai 1, 2, 3, dan 5, masing-masing. 

```
SELECT id, age div 2 FROM squirrels
```

Kueri ini dapat berguna dalam skenario di mana Anda perlu mengelompokkan atau menganalisis data berdasarkan rentang usia, dan Anda ingin menyederhanakan nilai usia dengan membulatkannya ke bilangan bulat genap terdekat. Output yang dihasilkan akan memberikan `id` dan usia dibagi 2 untuk setiap tupai dalam tabel`squirrels`. 

# Fungsi EXP
<a name="EXP"></a>

Fungsi EXP mengimplementasikan fungsi eksponensial untuk ekspresi numerik, atau dasar logaritma natural,, `e` dinaikkan ke kekuatan ekspresi. Fungsi EXP adalah kebalikan dari. [Fungsi LN](LN.md) 

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

```
EXP (expression)
```

## Pendapat
<a name="EXP-argument"></a>

 *ekspresi*   
Ekspresi harus berupa tipe data INTEGER, DECIMAL, atau DOUBLE PRECISION. 

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

EXP mengembalikan nomor PRESISI GANDA. 

## Contoh
<a name="EXP-example"></a>

Gunakan fungsi EXP untuk memperkirakan penjualan tiket berdasarkan pola pertumbuhan berkelanjutan. Dalam contoh ini, subquery mengembalikan jumlah tiket yang terjual pada tahun 2008. Hasil itu dikalikan dengan hasil fungsi EXP, yang menentukan tingkat pertumbuhan berkelanjutan 7% selama 10 tahun. 

```
select (select sum(qtysold) from sales, date
where sales.dateid=date.dateid
and year=2008) * exp((7::float/100)*10) qty2018;

qty2018
------------------
695447.483772222
(1 row)
```

# Fungsi FLOOR
<a name="FLOOR"></a>

Fungsi FLOOR membulatkan angka ke bawah ke bilangan bulat berikutnya. 

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

```
FLOOR (number)
```

## Pendapat
<a name="FLOOR-argument"></a>

 *jumlah*   
Angka atau ekspresi yang mengevaluasi ke angka. Ini bisa berupa SMALLINT, INTEGER, BIGINT, DECIMAL,, atau type. FLOAT4 FLOAT8 

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

FLOOR mengembalikan tipe data yang sama sebagai argumennya. 

## Contoh
<a name="FLOOR-example"></a>

Contoh menunjukkan nilai komisi yang dibayarkan untuk transaksi penjualan tertentu sebelum dan sesudah menggunakan fungsi FLOOR. 

```
select commission from sales
where salesid=10000;

floor
-------
28.05
(1 row)

select floor(commission) from sales
where salesid=10000;

floor
-------
28
(1 row)
```

# Fungsi LN
<a name="LN"></a>

Fungsi LN mengembalikan logaritma natural dari parameter input. 

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

```
LN(expression)
```

## Pendapat
<a name="LN-argument"></a>

 *ekspresi*   
Kolom target atau ekspresi tempat fungsi beroperasi.   
Fungsi ini mengembalikan kesalahan untuk beberapa tipe data jika ekspresi referensi tabel yang AWS Clean Rooms dibuat pengguna atau tabel sistem AWS Clean Rooms STL atau STV. 
Ekspresi dengan tipe data berikut menghasilkan kesalahan jika mereka mereferensikan tabel yang dibuat pengguna atau sistem.  
+ BOOLEAN 
+ CHAR 
+ DATE 
+ DESIMAL atau NUMERIK 
+ TIMESTAMP 
+ VARCHAR 
Ekspresi dengan tipe data berikut berjalan dengan sukses pada tabel yang dibuat pengguna dan tabel sistem STL atau STV:   
+ BIGINT 
+ DOUBLE PRECISION 
+ INTEGER 
+ REAL 
+ SMALLINT 

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

Fungsi LN mengembalikan tipe yang sama dengan ekspresi. 

## Contoh
<a name="LN-example"></a>

Contoh berikut mengembalikan logaritma natural, atau logaritma basis e, dari angka 2.718281828: 

```
select ln(2.718281828);
ln
--------------------
0.9999999998311267
(1 row)
```

Perhatikan bahwa jawabannya hampir sama dengan 1. 

Contoh ini mengembalikan logaritma natural dari nilai-nilai dalam kolom USERID dalam tabel USERID: 

```
select username, ln(userid) from users order by userid limit 10;

 username |        ln
----------+-------------------
 JSG99FHE |                 0
 PGL08LJI | 0.693147180559945
 IFT66TXU |  1.09861228866811
 XDZ38RDD |  1.38629436111989
 AEB55QTM |   1.6094379124341
 NDQ15VBM |  1.79175946922805
 OWY35QYB |  1.94591014905531
 AZG78YIP |  2.07944154167984
 MSD36KVR |  2.19722457733622
 WKW41AIW |  2.30258509299405
(10 rows)
```

# Fungsi LOG
<a name="LOG"></a>

Mengembalikan logaritma dengan. `expr` `base`

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

```
LOG(base, expr)
```

## Pendapat
<a name="LOG-argument"></a>

 *expr*   
Ekspresi harus memiliki tipe data integer, desimal, atau floating-point. 

 *dasar*   
Dasar untuk perhitungan logaritma. Harus berupa angka positif (tidak sama dengan 1) tipe data presisi ganda. 

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

Fungsi LOG mengembalikan nomor presisi ganda. 

## Contoh
<a name="LOG-example"></a>

Contoh berikut mengembalikan basis 10 logaritma dari angka 100: 

```
select log(10, 100);
--------
2
(1 row)
```

# Fungsi MOD
<a name="MOD"></a>

Mengembalikan sisa dari dua angka, atau dikenal sebagai operasi *modulo*. Untuk menghitung hasilnya, parameter pertama dibagi dengan yang kedua.

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

```
MOD(number1, number2)
```

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

 *nomor1*   
Parameter input pertama adalah bilangan INTEGER, SMALLINT, BIGINT, atau DECIMAL. Jika salah satu parameter adalah tipe DECIMAL, parameter lainnya juga harus tipe DECIMAL. Jika salah satu parameter adalah INTEGER, parameter lainnya dapat berupa INTEGER, SMALLINT, atau BIGINT. Kedua parameter juga dapat berupa SMALLINT atau BIGINT, tetapi satu parameter tidak dapat menjadi SMALLINT jika yang lain adalah BIGINT. 

 *nomor2*   
Parameter kedua adalah bilangan INTEGER, SMALLINT, BIGINT, atau DECIMAL. Aturan tipe data yang sama berlaku untuk *number2* untuk *number1*. 

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

Jenis pengembalian yang valid adalah DECIMAL, INT, SMALLINT, dan BIGINT. Jenis pengembalian fungsi MOD adalah tipe numerik yang sama dengan parameter input, jika kedua parameter input adalah tipe yang sama. Jika salah satu parameter input adalah INTEGER, bagaimanapun, tipe kembali juga akan menjadi INTEGER. 

## Catatan penggunaan
<a name="MOD-usage-notes"></a>

Anda dapat *menggunakan%* sebagai operator modulo.

## Contoh
<a name="MOD-example"></a>

Contoh berikut mengembalikan sisanya ketika angka dibagi dengan yang lain:

```
SELECT MOD(10, 4);
               
 mod
------
 2
```

Contoh berikut mengembalikan hasil desimal:

```
SELECT MOD(10.5, 4);
               
 mod
------
 2.5
```

Anda dapat mentransmisikan nilai parameter:

```
SELECT MOD(CAST(16.4 as integer), 5);
               
 mod
------
 1
```

Periksa apakah parameter pertama genap dengan membaginya dengan 2:

```
SELECT mod(5,2) = 0 as is_even;
               
 is_even
--------
 false
```

Anda dapat menggunakan*%* sebagai operator modulo:

```
SELECT 11 % 4 as remainder;
               
 remainder
-----------
 3
```

Contoh berikut mengembalikan informasi untuk kategori bernomor ganjil dalam tabel CATEGORY: 

```
select catid, catname
from category
where mod(catid,2)=1
order by 1,2;

 catid |  catname
-------+-----------
     1 | MLB
     3 | NFL
     5 | MLS
     7 | Plays
     9 | Pop
    11 | Classical

(6 rows)
```

# Fungsi PI
<a name="PI"></a>

Fungsi PI mengembalikan nilai pi ke 14 tempat desimal. 

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

```
PI()
```

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

`DOUBLE PRECISION`

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

Untuk mengembalikan nilai pi, gunakan contoh berikut.

```
SELECT PI();

+-------------------+
|        pi         |
+-------------------+
| 3.141592653589793 |
+-------------------+
```

# Fungsi POWER
<a name="POWER"></a>

 Fungsi POWER adalah fungsi eksponensial yang meningkatkan ekspresi numerik ke kekuatan ekspresi numerik kedua. Misalnya, 2 hingga daya ketiga dihitung sebagai`POWER(2,3)`, dengan hasil dari`8`. 

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

```
{POWER(expression1, expression2)
```

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

 *ekspresi1*   
Ekspresi numerik yang akan dinaikkan. Harus berupa`INTEGER`,`DECIMAL`, atau tipe `FLOAT` data. 

 *ekspresi2*   
Kekuatan untuk meningkatkan *ekspresi1*. Harus berupa`INTEGER`,`DECIMAL`, atau tipe `FLOAT` data. 

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

`DOUBLE PRECISION`

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

```
SELECT (SELECT SUM(qtysold) FROM sales, date
WHERE sales.dateid=date.dateid
AND year=2008) * POW((1+7::FLOAT/100),10) qty2010;

+-------------------+
|      qty2010      |
+-------------------+
| 679353.7540885945 |
+-------------------+
```

# Fungsi RADIANS
<a name="RADIANS"></a>

Fungsi RADIANS mengubah sudut dalam derajat ke ekuivalennya dalam radian. 

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

```
RADIANS(number)
```

## Pendapat
<a name="RADIANS-argument"></a>

 *jumlah*   
Parameter input adalah `DOUBLE PRECISION` angka. 

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

`DOUBLE PRECISION`

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

Untuk mengembalikan radian setara 180 derajat, gunakan contoh berikut. 

```
SELECT RADIANS(180);

+-------------------+
|      radians      |
+-------------------+
| 3.141592653589793 |
+-------------------+
```

# Fungsi RAND
<a name="RAND"></a>

Fungsi RAND menghasilkan angka floating-point acak antara 0 dan 1. Fungsi RAND menghasilkan nomor acak baru setiap kali dipanggil.

## Sintaksis
<a name="RAND-syntax"></a>

```
RAND()
```

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

RANDOM mengembalikan DOUBLE. 

## Contoh
<a name="RAND-example"></a>

Contoh berikut menghasilkan kolom angka floating-point acak antara 0 dan 1 untuk setiap baris dalam tabel. `squirrels` Output yang dihasilkan akan menjadi kolom tunggal yang berisi daftar nilai desimal acak, dengan satu nilai untuk setiap baris dalam tabel tupai. 

```
SELECT rand() FROM squirrels
```

Jenis kueri ini berguna ketika Anda perlu menghasilkan angka acak, misalnya, untuk mensimulasikan peristiwa acak atau untuk memperkenalkan keacakan ke dalam analisis data Anda. Dalam konteks `squirrels` tabel, mungkin digunakan untuk menetapkan nilai acak untuk setiap tupai, yang kemudian dapat digunakan untuk pemrosesan atau analisis lebih lanjut.

# fungsi RANDOM
<a name="RANDOM"></a>

Fungsi RANDOM menghasilkan nilai acak antara 0,0 (inklusif) dan 1,0 (eksklusif). 

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

```
RANDOM()
```

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

RANDOM mengembalikan nomor PRESISI GANDA. 

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

1. Hitung nilai acak antara 0 dan 99. Jika angka acak adalah 0 hingga 1, kueri ini menghasilkan angka acak dari 0 hingga 100: 

   ```
   select cast (random() * 100 as int);
   
   INTEGER
   ------
   24
   (1 row)
   ```

1. Ambil sampel acak seragam dari 10 item:

   ```
   select * 
   from sales
   order by random()
   limit 10;
   ```

   Sekarang ambil sampel acak 10 item, tetapi pilih item secara proporsional dengan harganya. Misalnya, item yang dua kali harga yang lain akan dua kali lebih mungkin muncul dalam hasil kueri:

   ```
   select * 
   from sales
   order by log(1 - random()) / pricepaid
   limit 10;
   ```

1. Contoh ini menggunakan perintah SET untuk menetapkan nilai SEED sehingga RANDOM menghasilkan urutan angka yang dapat diprediksi. 

   Pertama, kembalikan tiga bilangan bulat RANDOM tanpa mengatur nilai SEED terlebih dahulu: 

   ```
   select cast (random() * 100 as int);
   INTEGER
   ------
   6
   (1 row)
   
   select cast (random() * 100 as int);
   INTEGER
   ------
   68
   (1 row)
   
   select cast (random() * 100 as int);
   INTEGER
   ------
   56
   (1 row)
   ```

   Sekarang, atur nilai SEED ke`.25`, dan kembalikan tiga angka RANDOM lagi: 

   ```
   set seed to .25;
   select cast (random() * 100 as int);
   INTEGER
   ------
   21
   (1 row)
   
   select cast (random() * 100 as int);
   INTEGER
   ------
   79
   (1 row)
   
   select cast (random() * 100 as int);
   INTEGER
   ------
   12
   (1 row)
   ```

   Terakhir, setel ulang nilai SEED ke`.25`, dan verifikasi bahwa RANDOM mengembalikan hasil yang sama dengan tiga panggilan sebelumnya: 

   ```
   set seed to .25;
   select cast (random() * 100 as int);
   INTEGER
   ------
   21
   (1 row)
   
   select cast (random() * 100 as int);
   INTEGER
   ------
   79
   (1 row)
   
   select cast (random() * 100 as int);
   INTEGER
   ------
   12
   (1 row)
   ```

# Fungsi ROUND
<a name="ROUND"></a>

Fungsi ROUND membulatkan angka ke bilangan bulat atau desimal terdekat. 

Fungsi ROUND secara opsional dapat menyertakan argumen kedua sebagai bilangan bulat untuk menunjukkan jumlah tempat desimal untuk pembulatan, di kedua arah. Ketika Anda tidak memberikan argumen kedua, fungsi dibulatkan ke bilangan bulat terdekat. Ketika argumen kedua *>n* ditentukan, fungsi dibulatkan ke angka terdekat dengan *n* tempat desimal presisi. 

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

```
ROUND (number [ , integer ] )
```

## Pendapat
<a name="ROUND-argument"></a>

 *jumlah*   
Angka atau ekspresi yang mengevaluasi angka. Ini bisa berupa DESIMAL atau FLOAT8 tipe. AWS Clean Rooms dapat mengonversi tipe data lain sesuai aturan konversi implisit. 

*bilangan bulat* (opsional)  
Bilangan bulat yang menunjukkan jumlah tempat desimal untuk pembulatan di kedua arah. 

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

ROUND mengembalikan tipe data numerik yang sama dengan argumen masukan. 

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

Bulatkan komisi yang dibayarkan untuk transaksi tertentu ke seluruh nomor terdekat. 

```
select commission, round(commission)
from sales where salesid=10000;

commission | round
-----------+-------
     28.05 |    28
(1 row)
```

Bulatkan komisi yang dibayarkan untuk transaksi tertentu ke tempat desimal pertama. 

```
select commission, round(commission, 1)
from sales where salesid=10000;

commission | round
-----------+-------
     28.05 |  28.1
(1 row)
```

Untuk kueri yang sama, perluas presisi ke arah yang berlawanan. 

```
select commission, round(commission, -1)
from sales where salesid=10000;

commission | round
-----------+-------
     28.05 |    30
(1 row)
```

# Fungsi SIGN
<a name="SIGN"></a>

 Fungsi SIGN mengembalikan tanda (positif atau negatif) dari suatu angka. Hasil dari fungsi SIGN adalah `1``-1`,, atau `0` menunjukkan tanda argumen. 

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

```
SIGN (number)
```

## Pendapat
<a name="SIGN-argument"></a>

 *jumlah*   
Angka atau ekspresi yang mengevaluasi angka. Itu bisa menjadi DECIMALor FLOAT8 tipenya. AWS Clean Rooms dapat mengonversi tipe data lain sesuai aturan konversi implisit.

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

SIGN mengembalikan tipe data numerik yang sama dengan argumen masukan. Jika input adalah DESIMAL, outputnya adalah DESIMAL (1,0). 

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

Untuk menentukan tanda komisi yang dibayarkan untuk transaksi tertentu dari tabel PENJUALAN, gunakan contoh berikut. 

```
SELECT commission, SIGN(commission)
FROM sales WHERE salesid=10000;

+------------+------+
| commission | sign |
+------------+------+
|      28.05 |    1 |
+------------+------+
```

# Fungsi SIN
<a name="SIN"></a>

SIN adalah fungsi trigonometri yang mengembalikan sinus suatu angka. Nilai yang dikembalikan adalah antara `-1` dan`1`. 

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

```
SIN(number)
```

## Pendapat
<a name="SIN-argument"></a>

 *jumlah*   
`DOUBLE PRECISION`Angka dalam radian. 

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

`DOUBLE PRECISION` 

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

Untuk mengembalikan sinus`-PI`, gunakan contoh berikut.

```
SELECT SIN(-PI());

+-------------------------+
|           sin           |
+-------------------------+
| -0.00000000000000012246 |
+-------------------------+
```

# Fungsi SQRT
<a name="SQRT"></a>

 Fungsi SQRT mengembalikan akar kuadrat dari nilai numerik. Akar kuadrat adalah angka yang dikalikan dengan sendirinya untuk mendapatkan nilai yang diberikan.

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

```
SQRT (expression)
```

## Pendapat
<a name="SQRT-argument"></a>

 *ekspresi*   
Ekspresi harus memiliki tipe data integer, desimal, atau floating-point. Ekspresi dapat mencakup fungsi. Sistem mungkin melakukan konversi tipe implisit. 

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

SQRT mengembalikan nomor PRESISI GANDA.

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

Contoh berikut mengembalikan akar kuadrat dari angka. 

```
select sqrt(16);
               
sqrt
---------------
4
```

Contoh berikut melakukan konversi tipe implisit.

```
select sqrt('16');
               
sqrt
---------------
4
```

Contoh sarang berikut berfungsi untuk melakukan tugas yang lebih kompleks. 

```
select sqrt(round(16.4)); 

sqrt
---------------
4
```

Contoh berikut menghasilkan panjang jari-jari ketika diberi luas lingkaran. Ini menghitung radius dalam inci, misalnya, ketika diberi luas dalam inci persegi. Area dalam sampel adalah 20. 

```
select sqrt(20/pi());
```

Ini mengembalikan nilai 5.046265044040321.

Contoh berikut mengembalikan akar kuadrat untuk nilai KOMISI dari tabel PENJUALAN. Kolom KOMISI adalah kolom DESIMAL. Contoh ini menunjukkan bagaimana Anda dapat menggunakan fungsi dalam kueri dengan logika kondisional yang lebih kompleks. 

```
select sqrt(commission)
from sales where salesid < 10 order by salesid;

sqrt
------------------
10.4498803820905
3.37638860322683
7.24568837309472
5.1234753829798
...
```

Kueri berikut mengembalikan akar kuadrat bulat untuk set nilai KOMISI yang sama. 

```
select salesid, commission, round(sqrt(commission))
from sales where salesid < 10 order by salesid;

salesid | commission | round
--------+------------+-------
      1 |     109.20 |    10
      2 |      11.40 |     3
      3 |      52.50 |     7
      4 |      26.25 |     5
...
```

Untuk informasi selengkapnya tentang data sampel di AWS Clean Rooms, lihat [Database sampel](https://docs.aws.amazon.com/redshift/latest/dg/c_sampledb.html).

# Fungsi TRUNC
<a name="TRUNC"></a>

Fungsi TRUNC memotong angka ke bilangan bulat atau desimal sebelumnya. 

Fungsi TRUNC secara opsional dapat menyertakan argumen kedua sebagai bilangan bulat untuk menunjukkan jumlah tempat desimal untuk pembulatan, di kedua arah. Ketika Anda tidak memberikan argumen kedua, fungsi dibulatkan ke bilangan bulat terdekat. Ketika argumen kedua *>n* ditentukan, fungsi dibulatkan ke angka terdekat *dengan>n tempat desimal presisi*. Fungsi ini juga memotong stempel waktu dan mengembalikan tanggal.

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

```
TRUNC (number [ , integer ] |
timestamp )
```

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

 *jumlah*   
Angka atau ekspresi yang mengevaluasi angka. Ini bisa berupa DESIMAL atau FLOAT8 tipe. AWS Clean Rooms dapat mengonversi tipe data lain sesuai aturan konversi implisit. 

 *bilangan bulat* (opsional)   
Bilangan bulat yang menunjukkan jumlah tempat desimal presisi, di kedua arah. Jika tidak ada bilangan bulat yang disediakan, angka tersebut terpotong sebagai bilangan bulat; jika bilangan bulat ditentukan, angka tersebut dipotong ke tempat desimal yang ditentukan. 

 *stempel waktu*   
Fungsi ini juga dapat mengembalikan tanggal dari stempel waktu. (Untuk mengembalikan nilai stempel waktu dengan `00:00:00` waktu, lemparkan hasil fungsi ke stempel waktu.) 

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

TRUNC mengembalikan tipe data yang sama dengan argumen masukan pertama. Untuk stempel waktu, TRUNC mengembalikan tanggal. 

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

Memangkas komisi yang dibayarkan untuk transaksi penjualan tertentu. 

```
select commission, trunc(commission)
from sales where salesid=784;

commission | trunc
-----------+-------
    111.15 |   111

(1 row)
```

Memangkas nilai komisi yang sama ke tempat desimal pertama. 

```
select commission, trunc(commission,1)
from sales where salesid=784;

commission | trunc
-----------+-------
    111.15 | 111.1

(1 row)
```

Potong komisi dengan nilai negatif untuk argumen kedua; `111.15` dibulatkan ke bawah menjadi. `110` 

```
select commission, trunc(commission,-1)
from sales where salesid=784;

commission | trunc
-----------+-------
    111.15 |   110
(1 row)
```

Kembalikan bagian tanggal dari hasil fungsi SYSDATE (yang mengembalikan stempel waktu): 

```
select sysdate;

timestamp
----------------------------
2011-07-21 10:32:38.248109
(1 row)

select trunc(sysdate);

trunc
------------
2011-07-21
(1 row)
```

Terapkan fungsi TRUNC ke kolom TIMESTAMP. Jenis pengembalian adalah tanggal. 

```
select trunc(starttime) from event
order by eventid limit 1;

trunc
------------
2008-01-25
(1 row)
```