

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

# AWS IoT SiteWise bahasa query
<a name="sql"></a>

Dengan operasi [ExecuteQuery](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_ExecuteQuery.html)API pengambilan AWS IoT SiteWise data, Anda dapat mengambil informasi tentang definisi struktural deklaratif, dan data timeseries yang terkait dengannya, dari berikut ini:
+ model
+ aset
+ ukuran
+ metrik
+ berubah
+ agregat

Hal ini dapat dilakukan dengan SQL seperti pernyataan query, dalam satu permintaan API.

**catatan**  
Fitur ini tersedia di semua Wilayah jika AWS IoT SiteWise tersedia, kecuali AWS GovCloud (AS-Barat), Kanada (Tengah), Tiongkok (Beijing) dan AS Timur (Ohio). 

**Topics**
+ [Referensi bahasa kueri untuk AWS IoT SiteWise](query-reference.md)

# Referensi bahasa kueri untuk AWS IoT SiteWise
<a name="query-reference"></a>

 AWS IoT SiteWise mendukung bahasa kueri yang kaya untuk bekerja dengan data Anda. Tipe data, operator, fungsi, dan konstruksi yang tersedia dijelaskan dalam topik berikut.

Lihat [Kueri contoh](sql-examples.md) untuk menulis kueri dengan bahasa AWS IoT SiteWise kueri.

**Topics**
+ [Tampilan referensi kueri](query-reference-views.md)
+ [Jenis data yang didukung](supported-data-types.md)
+ [Klausul yang didukung](supported-clauses.md)
+ [Operator logis](sql-supported-logical.md)
+ [Operator perbandingan](sql-supported-comparision.md)
+ [Fungsi SQL](sql-functions.md)
+ [Kueri contoh](sql-examples.md)

# Tampilan referensi kueri
<a name="query-reference-views"></a>

Bagian ini memberikan informasi untuk membantu Anda memahami tampilan AWS IoT SiteWise, seperti metadata proses dan data telemetri.

Tabel berikut memberikan nama tampilan dan deskripsi tampilan:


**Model Data**  

|  **Lihat nama**  |  **Lihat deskripsi**  | 
| --- | --- | 
|  aset  |  Berisi informasi tentang aset dan model derivasi.  | 
|  aset\$1property  |  Berisi informasi tentang struktur properti aset.  | 
|  raw\$1time\$1seri  |  Berisi data historis deret waktu.  | 
|  terbaru\$1value\$1time\$1series  |  Berisi nilai terbaru dari deret waktu.  | 
|  precomputed\$1aggregates  |  Berisi nilai properti aset agregat yang dihitung secara otomatis. Mereka adalah satu set metrik dasar yang dihitung selama beberapa interval waktu.  | 

Tampilan berikut mencantumkan nama kolom dan tipe data dari setiap tampilan.


**Lihat:aset**  

|  **nama kolom**  |  **tipe data**  | 
| --- | --- | 
|  aset\$1id  |  string  | 
|  asset\$1name  |  string  | 
|  asset\$1description  |  string  | 
|  asset\$1model\$1id  |  string  | 
|  parent\$1asset\$1id  |  string  | 
| asset\$1external\$1id | string | 
| asset\$1model\$1external\$1id | string | 
| hirarki\$1id | string | 


**Lihat:aset\$1properti**  

|  **nama kolom**  |  **tipe data**  | 
| --- | --- | 
|  aset\$1id  |  string  | 
|  property\$1id  |  string  | 
|  property\$1name  |  string  | 
|  property\$1alias  |  string  | 
|  property\$1external\$1id  |  string  | 
|  asset\$1composite\$1model\$1id  |  string  | 
|  property\$1type  |  string  | 
|  property\$1data\$1type  |  string  | 
|  int\$1attribute\$1value  |  integer  | 
|  double\$1attribute\$1value  |  double  | 
|  boolean\$1attribute\$1value  |  boolean  | 
|  string\$1attribute\$1value  |  string  | 


**Lihat:RAW\$1TIME\$1SERIES**  

|  **nama kolom**  |  **tipe data**  | 
| --- | --- | 
|  aset\$1id  |  string  | 
|  property\$1id  |  string  | 
|  property\$1alias  |  string  | 
|  event\$1timestamp  |  timestamp  | 
|  kualitas  |  string  | 
|  boolean\$1nilai  |  boolean  | 
|  int\$1nilai  |  integer  | 
|  nilai ganda  |  double  | 
|  string\$1nilai  |  string  | 


**Lihat:terbaru\$1Value\$1Time\$1Series**  

|  **nama kolom**  |  **tipe data**  | 
| --- | --- | 
|  aset\$1id  |  string  | 
|  property\$1id  |  string  | 
|  property\$1alias  |  string  | 
|  event\$1timestamp  |  timestamp  | 
|  kualitas  |  string  | 
|  boolean\$1nilai  |  boolean  | 
|  int\$1nilai  |  integer  | 
|  nilai ganda  |  double  | 
|  string\$1nilai  |  string  | 


**Lihat:precomputed\$1aggregates**  

|  **nama kolom**  |  **tipe data**  | 
| --- | --- | 
|  aset\$1id  |  string  | 
|  property\$1id  |  string  | 
|  property\$1alias  |  string  | 
|  event\$1timestamp  |  timestamp  | 
|  kualitas  |  string  | 
|  resolusi  |  string  | 
|  nilai sum\$1  |  double  | 
|  count\$1value  |  integer  | 
|  nilai rata-rata\$1  |  double  | 
|  maksimum\$1nilai  |  double  | 
|  minimum\$1nilai  |  double  | 
|  stdev\$1nilai  |  double  | 

# Jenis data yang didukung
<a name="supported-data-types"></a>

AWS IoT SiteWise bahasa query mendukung tipe data berikut.


**Nilai skalar**  

|  **Tipe data**  |  **Deskripsi**  | 
| --- | --- | 
|  `STRING`  |  Sebuah string panjang maksimum 1024 byte.  | 
|  `INTEGER`  |  Integer 32-bit yang ditandatangani dengan rentang dari. `-2,147,483,648 to 2,147,483,647`  | 
|  `DOUBLE`  |  Nomor floating point dengan rentang dari`–10^100 to 10^100`, atau `Nan` dengan presisi `IEEE 754` ganda.  | 
|  `BOOLEAN`  |  `true` atau `false`.  | 
|  `TIMESTAMP`  |  Stempel waktu yang sesuai dengan ISO-8601: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/iot-sitewise/latest/userguide/supported-data-types.html)  | 

**catatan**  
`Null`: Boolean `true` yang menunjukkan kurangnya data yang ditentukan.

**Example**  
`TIMESTAMP`contoh nilai:  

```
TIMESTAMP '2025-12-21 23:59:59.999Z'
TIMESTAMP '2025-12-21 23:59:59+23:59'
'2025-12-21 23:59:59'
'2025-12-21T23:59:59.123+11:11'
```

**catatan**  
 Data presisi ganda tidak tepat. Beberapa nilai tidak dikonversi dengan tepat, dan tidak akan mewakili semua bilangan real karena presisi terbatas. Data floating-point dalam kueri mungkin bukan nilai yang sama yang diwakili secara internal. Nilai dibulatkan jika presisi nomor input terlalu tinggi. 

# Klausul yang didukung
<a name="supported-clauses"></a>

`SELECT`Pernyataan ini digunakan untuk mengambil data dari satu atau lebih tampilan. AWS IoT SiteWise mendukung `JOIN` dan `INNER JOIN` operasi.

Tampilan digabungkan dengan `JOIN` sintaks eksplisit, atau dengan notasi yang dipisahkan koma dalam klausa. `FROM`

**Example**  
`SELECT`Pernyataan umum:  

```
SELECT expression [, ...]
  [ FROM table_name AS alias [, ...] ]
  [ WHERE condition ]
  [ GROUP BY expression [, ...] ]
  [ HAVING condition ]
  [ ORDER BY expression [ ASC | DESC ] [ NULLS FIRST | NULLS LAST ] [, ...] ]
  [ LIMIT expression ]
```

**Example**  
Pernyataan SELECT dengan klausa yang berbeda:  

```
SELECT
  a.asset_name,
  a.asset_id,
  p.property_type,
  p.property_data_type,
  p.string_attribute_value,
  p.property_name
FROM asset a, asset_property p
WHERE a.asset_description LIKE '%description%'
AND p.property_type IN ('attribute', 'metric')
OR p.property_id IN (
  SELECT property_id
  FROM raw_time_series
  WHERE event_timestamp BETWEEN TIMESTAMP '2025-01-01 00:00:00' AND TIMESTAMP '2025-01-02 00:00:00'
  GROUP BY asset_id, property_id
  HAVING COUNT(*) > 100
 )
GROUP BY p.property_type
HAVING COUNT(*) > 5
ORDER BY a.asset_name ASC
LIMIT 20;
```

**catatan**  
 Sebuah implisit `JOIN` menggabungkan dua atau lebih tabel yang berbeda tanpa menggunakan `JOIN` kata kunci berdasarkan AWS IoT SiteWise skema internal. Ini setara dengan melakukan `JOIN` on the `asset_id` and `property_id` field antara metadata dan tabel data mentah. Pola ini memungkinkan SiteWise untuk memanfaatkan filter metadata yang diberikan dalam kueri, saat mengambil dari tabel data mentah dengan cara yang menghasilkan lebih sedikit keseluruhan data yang dipindai.   

**Example dari sebuah kueri:**  

```
SELECT a.asset_name, p.property_name, r.event_timestamp
FROM asset a, asset_property p, raw_time_series r
WHERE a.asset_name='my_asset' AND p.property_name='my_property'
```
Contoh di atas hanya memindai data dari properti aset milik nama metadata yang ditentukan.  

**Example dari ekuivalen yang kurang dioptimalkan dari kueri di atas:**  

```
SELECT a.asset_name, p.property_name, r.event_timestamp
FROM asset a
JOIN asset_property p ON a.asset_id=p.asset_id
JOIN raw_time_series r ON p.asset_id=r.asset_id AND p.property_id=r.property_id
WHERE a.asset_name='my_asset' AND p.property_name='my_property'
```

Penjelasan dari setiap klausa dan deskripsinya tercantum di bawah ini:


|  **Klausul**  |  **Tanda tangan**  |  **Deskripsi**  | 
| --- | --- | --- | 
|  `LIMIT`  |  <pre>LIMIT { count }</pre>  |  Klausa ini membatasi hasil yang disetel ke jumlah baris yang ditentukan. Anda dapat menggunakan `LIMIT` dengan atau tanpa `ORDER BY` dan `OFFSET` klausa. `LIMIT`hanya bekerja dengan bilangan bulat non-negatif dari [0,2147483647].  | 
|  `ORDER BY`  |  <pre>ORDER BY expression<br />[ ASC | DESC ]<br />[ NULLS FIRST | NULLS LAST ] <br /></pre>  |  `ORDER BY`Klausa mengurutkan kumpulan hasil kueri.   Saat merujuk ke kolom yang dipilih dalam agregasi dalam `ORDER BY` klausa, gunakan indeks ordinal kolom daripada nama atau alias.  <pre>SELECT AVG(t.double_value)<br />FROM latest_value_time_series t<br />GROUP BY t.asset_id<br />ORDER BY 1</pre>   | 
|  `GROUP BY`  |  <pre>GROUP BY expression [, ...]</pre>  |  `GROUP BY`Klausa mengidentifikasi kolom pengelompokan untuk kueri. Ini digunakan bersama dengan ekspresi agregat.  | 
|  `HAVING`  |  <pre>HAVING boolean-expression</pre>  |  `HAVING`Klausa memfilter baris grup yang dibuat oleh klausa GROUP BY.  | 
|  `SUB SELECT`  |  <pre>SELECT column1, column2<br />FROM table1<br />WHERE column3 IN (SELECT column4 FROM table2);<br /></pre>  |  `SELECT`Pernyataan yang disematkan dalam `SELECT` pernyataan lain.  | 
|  `JOIN`  |  <pre>SELECT column1, column2<br />FROM table1 JOIN table2<br />ON table1.column1 = table2.column1;<br /></pre>  | 
|  `INNER JOIN`  |  <pre>SELECT columns<br />FROM table1<br />INNER JOIN table2 ON table1.column = table2.column;<br /></pre>  |  Sebuah `INNER JOIN` mengembalikan semua baris dari kedua tabel, yang cocok dengan kondisi gabungan.  | 
|  `UNION`  |  <pre>query<br />   { UNION [ ALL ] }<br />another_query<br /></pre>  |  `UNION`Operator menghitung gabungan set dari dua argumennya, secara otomatis menghapus catatan duplikat dari kumpulan hasil.  | 

# Operator logis
<a name="sql-supported-logical"></a>

AWS IoT SiteWise mendukung operator logis berikut.


|  **Operator**  |  **Tanda tangan**  |  **Deskripsi**  | 
| --- | --- | --- | 
|  `AND`  |  a `AND` b  |  `TRUE`jika kedua nilai itu benar  | 
|  `OR`  |  a `OR` b  |  `TRUE`jika satu nilai benar  | 
|  `NOT`  |  `NOT`ekspresi  |  `TRUE`jika ekspresi salah, dan `FALSE` jika ekspresi benar  | 
|  `IN`  |  `IN`ekspresi x  |  `TRUE`jika nilai dalam ekspresi  | 
|  `BETWEEN`  |  `BETWEEN`a `AND` b  |  `TRUE`jika nilai antara batas atas dan bawah, dan mencakup kedua batas  | 
|  `LIKE`  |  `LIKE`pola  |  `TRUE`jika nilainya dalam pola `LIKE`mendukung wildcard. Lihat di bawah untuk contoh: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/iot-sitewise/latest/userguide/sql-supported-logical.html)  | 

Contoh dari semua operator logika:


|  **Fungsi**  |  **Contoh**  | 
| --- | --- | 
|  AND  |  <pre>SELECT a.asset_name <br />   FROM asset AS a, latest_value_time_series AS t <br />   WHERE t.int_value > 30 AND t.event_timestamp > TIMESTAMP '2025-05-15 00:00:01'<br /></pre>  | 
|  OR  |  <pre>SELECT a.asset_name <br />   FROM asset AS a<br />   WHERE a.asset_name like 'abc' OR a.asset_name like 'pqr'<br /></pre>  | 
|  NOT  |  <pre>SELECT ma.asset_id AS a_id<br />   FROM asset AS ma<br />   WHERE (ma.asset_id NOT LIKE 'some%patterna%' escape 'a') AND ma.asset_id='abc'<br /></pre>  | 
|  DI DALAM  |  <pre>SELECT a.asset_name <br />   FROM asset AS a<br />   WHERE a.asset_name IN ('abc', 'pqr')<br /></pre>  | 
|  DI ANTARA  |  <pre>SELECT asset_id, int_value, event_timestamp AS i_v <br />   FROM raw_time_series<br />   WHERE event_timestamp BETWEEN TIMESTAMP '2025-04-15 00:00:01' and TIMESTAMP '2025-05-15 00:00:01'  <br /></pre>  | 
|  SUKA  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/iot-sitewise/latest/userguide/sql-supported-logical.html)  | 

# Operator perbandingan
<a name="sql-supported-comparision"></a>

AWS IoT SiteWise mendukung operator perbandingan berikut. Semua operasi perbandingan tersedia untuk tipe data bawaan dan dievaluasi ke boolean.


**Operator logis**  

|  **Operator**  |  **Deskripsi**  | 
| --- | --- | 
|  `<`  |  Kurang dari  | 
|  `>`  |  Lebih besar dari  | 
|  `<=`  |  Kurang dari atau sama dengan  | 
|  `>=`  |  Lebih besar dari atau sama dengan  | 
|  `=`  |  Sama dengan  | 
|  `!=`  |  Tidak sama  | 


**Tabel kebenaran operasi perbandingan untuk nilai non numerik**  

|  **Jenis**  |  **Ketik >= x**  |  **Jenis <= x**  |  **Ketik > x**  |  **Ketik < x**  |  **Jenis = x**  |  **Ketik\$1 = x**  | 
| --- | --- | --- | --- | --- | --- | --- | 
|  `NULL`  |  `FALSE`  |  `FALSE`  |  `FALSE`  |  `FALSE`  |  `FALSE`  |  `TRUE`  | 

Beberapa predikat berperilaku seperti operator tetapi memiliki sintaks khusus. Lihat di bawah ini:


**Predikat perbandingan**  

|  **Operator**  |  **Deskripsi**  | 
| --- | --- | 
|  `IS NULL`  |  Menguji apakah suatu nilai adalah`NULL`.  | 
|  `IS NOT NULL`  |  Menguji jika suatu nilai tidak`NULL`.  | 

## Operator NaN
<a name="sql-supported-comparision-nan"></a>

 `NaN`, atau 'Not a Number', adalah nilai khusus dalam aritmatika floating-point. Berikut adalah daftar `NaN` perbandingan dan cara kerjanya. 
+ `NaN`nilai harus diapit dalam tanda kutip tunggal. Misalnya, '`NaN`'.
+ `NaN`nilai dianggap sama satu sama lain.
+ `NaN`lebih besar dari nilai numerik lainnya.
+ Dalam fungsi agregat seperti`AVG()`,`STDDEV()`, dan`SUM()`, jika ada nilai`NaN`, hasilnya adalah`NaN`. 
+ Dalam fungsi agregat seperti `MAX()` dan`MIN()`, `NaN` nilai termasuk dalam perhitungan.


**NaN perbandingan nilai**  

|  **Perbandingan**  |  **Hasil**  | 
| --- | --- | 
|  `'NaN' ≥ x`  |  True  | 
|  `'NaN' ≤ x`  |  Benar jika x sama dengan NaN, False sebaliknya  | 
|  `'NaN' > x`  |  Salah jika x sama dengan NaN, Benar sebaliknya  | 
|  `'NaN' < x`  |  False  | 
|  `'NaN' = x`  |  Benar jika x sama dengan NaN, False sebaliknya  | 
|  `'NaN' != x`  |  Salah jika x sama dengan NaN, Benar sebaliknya  | 

# Fungsi SQL
<a name="sql-functions"></a>

 Grup fungsi yang didukung adalah: 

**Topics**
+ [Fungsi skalar](sql-functions-scalar.md)
+ [Fungsi agregat](sql-functions-aggregated.md)

# Fungsi skalar
<a name="sql-functions-scalar"></a>

 Fungsi skalar mengambil satu atau lebih nilai input dan mengembalikan nilai output tunggal. Mereka banyak digunakan dalam SQL (Structured Query Language) untuk manipulasi dan pengambilan data, meningkatkan efisiensi tugas pemrosesan data. 

**Topics**
+ [Fungsi data nol](sql-functions-null.md)
+ [Fungsi string](sql-functions-string.md)
+ [Fungsi matematika](sql-functions-math.md)
+ [Fungsi waktu tanggal](sql-functions-date.md)
+ [Jenis fungsi konversi](sql-functions-type-conv.md)

# Fungsi data nol
<a name="sql-functions-null"></a>

 Fungsi data nol menangani atau memanipulasi nilai NULL, yang mewakili tidak adanya nilai. Fungsi memungkinkan Anda untuk mengganti NULLs dengan nilai lain, memeriksa apakah nilai adalah NULL, atau melakukan operasi yang menangani dengan NULLs cara tertentu. 


|  **Fungsi**  |  **Tanda tangan**  |  **Deskripsi**  | 
| --- | --- | --- | 
|  `COALESCE`  |   COALESCE (ekspresi1, ekspresi2,..., ExpressionN)   |  Jika semua ekspresi mengevaluasi ke null, COALESCE mengembalikan null. Ekspresi harus dari jenis yang sama.  | 

**Example dari fungsi COALESCE**  

```
SELECT COALESCE (l.double_value, 100) AS non_double_value FROM latest_value_time_series AS l LIMIT 1
```

# Fungsi string
<a name="sql-functions-string"></a>

 Fungsi string adalah alat bawaan yang digunakan untuk memanipulasi dan memproses data teks. Mereka memungkinkan tugas-tugas seperti penggabungan, ekstraksi, pemformatan, dan pencarian dalam string. Fungsi-fungsi ini sangat penting untuk membersihkan, mengubah, dan menganalisis data berbasis teks dalam database. 


**Fungsi string**  

|  **Fungsi**  |  **Tanda tangan**  |  **Deskripsi**  | 
| --- | --- | --- | 
|  `LENGTH`  |   PANJANG (string)   |  Mengembalikan panjang string.  | 
|  `CONCAT`  |   CONCAT (string, string)   |  Menggabungkan argumen dalam string.  | 
|  `SUBSTR`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/iot-sitewise/latest/userguide/sql-functions-string.html)  |  Mengembalikan salah satu dari berikut ini: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/iot-sitewise/latest/userguide/sql-functions-string.html) Menggunakan pengindeksan berbasis 1 untuk parameter awal.  | 
|  `UPPER`  |   ATAS (string)   |  Mengkonversi karakter dalam string input ke huruf besar.  | 
|  `LOWER`  |   LEBIH RENDAH (string)   |  Mengkonversi karakter dalam string input ke huruf kecil.  | 
|  `TRIM`  |   TRIM (string)   |  Menghapus karakter spasi dari awal, akhir, atau kedua sisi string.  | 
|  `LTRIM`  |   LTRIM (string)   |  Menghapus karakter spasi apa pun dari awal string.  | 
|  `RTRIM`  |   RTRIM (string)   |  Menghapus karakter spasi apa pun dari akhir string.  | 
|  `STR_REPLACE`  |   STR\$1REPLACE (string, dari, ke)   |  Mengganti semua kemunculan substring yang ditentukan dengan substring lain yang ditentukan.  | 

Contoh dari semua fungsi:


|  **Fungsi**  |  **Contoh**  | 
| --- | --- | 
|  PANJANGNYA  |  `SELECT LENGTH(a.asset_id) AS asset_id_length FROM asset AS a`  | 
|  CONCAT  |   `SELECT CONCAT(p.property_id, p.property_name) FROM asset_property AS p`   | 
|  SUBSTR  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/iot-sitewise/latest/userguide/sql-functions-string.html)  | 
|  ATAS  |   `SELECT UPPER(d.string_value) AS up_string FROM raw_time_series AS d`   | 
|  LEBIH RENDAH  |   `SELECT LOWER(d.string_value) AS low_string FROM raw_time_series AS d`   | 
|  MEMANGKAS  |   `SELECT TRIM(d.string_value) AS tm_string FROM raw_time_series AS d`   | 
|  LTRIM  |   `SELECT LTRIM(d.string_value) AS ltrim_string FROM raw_time_series AS d`   | 
|  RTRIM  |   `SELECT RTRIM(d.string_value) AS rtrim_string FROM raw_time_series AS d`   | 
|  STR\$1GANTI  |   `SELECT STR_REPLACE(d.string_value, 'abc', 'def') AS replaced_string FROM raw_time_series AS d`   | 

## Operator penggabungan
<a name="sql-operators-concatenation"></a>

 Operator penggabungan`||`, atau operator pipa, menggabungkan dua string bersama-sama. Ini memberikan alternatif untuk `CONCAT` fungsi, dan lebih mudah dibaca ketika menggabungkan beberapa string.

**Example dari operator penggabungan**  

```
SELECT a.asset_name || ' - ' || p.property_name 
  AS full_name
  FROM asset a, asset_property p
```

# Fungsi matematika
<a name="sql-functions-math"></a>

 Fungsi matematika adalah operasi matematika yang telah ditentukan sebelumnya yang digunakan dalam kueri SQL untuk melakukan perhitungan pada data numerik. Mereka menyediakan cara untuk memanipulasi dan mengubah data tanpa perlu mengekstraknya dari database dan memprosesnya secara terpisah. 


**Fungsi matematika**  

|  **Fungsi**  |  **Tanda tangan**  |  **Deskripsi**  | 
| --- | --- | --- | 
|  `POWER`  |  POWER (int\$1ganda, int\$1ganda)  |  Mengembalikan nilai argumen pertama diangkat ke kekuatan argumen kedua.  | 
|  `ROUND`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/iot-sitewise/latest/userguide/sql-functions-math.html)  |  Membulatkan ke bilangan bulat terdekat.  | 
|  `FLOOR`  |   LANTAI (int\$1ganda)   |  Mengembalikan bilangan bulat terbesar tidak lebih besar dari nilai yang diberikan.  | 

Contoh dari semua fungsi:


|  **Fungsi**  |  **Contoh**  | 
| --- | --- | 
|  DAYA  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/iot-sitewise/latest/userguide/sql-functions-math.html)  | 
|  BULAT  |   `ROUND (32.12435, 3)`   | 
|  FLOOR  |   `FLOOR (21.2)`   | 

# Fungsi waktu tanggal
<a name="sql-functions-date"></a>

 Fungsi waktu tanggal bekerja dengan tanggal dan waktu. Fungsi-fungsi ini memungkinkan ekstraksi komponen tertentu dari suatu tanggal, melakukan perhitungan, dan memanipulasi nilai tanggal.

Pengidentifikasi yang diizinkan dalam fungsi-fungsi ini adalah:
+ YEAR
+ MONTH
+ DAY
+ HOUR
+ MINUTE
+ DETIK


|  **Fungsi**  |  **Tanda tangan**  |  **Deskripsi**  | 
| --- | --- | --- | 
|  `NOW`  |   SEKARANG ()   |  Mengembalikan stempel waktu saat ini dengan presisi milidetik. Ini memberikan waktu yang tepat pada saat itu dijalankan dalam kueri.  | 
|  `DATE_ADD`  |  DATE\$1ADD (pengidentifikasi, interval\$1duration, kolom)  |  Mengembalikan jumlah dari a date/time dan sejumlah days/hours, or of a date/time and date/time interval.  | 
|  `DATE_SUB`  |  DATE\$1SUB (pengidentifikasi, interval\$1duration, kolom)  |  Mengembalikan perbedaan antara a date/time dan sejumlah days/hours, or between a date/time and date/time interval.  | 
|  `TIMESTAMP_ADD`  |  TIMESTAMP\$1ADD (pengidentifikasi, interval\$1duration, kolom)  |  Menambahkan interval waktu, dalam satuan waktu yang diberikan, ke ekspresi datetime.  | 
|  `TIMESTAMP_SUB`  |  TIMESTAMP\$1SUB (pengidentifikasi, interval\$1duration, kolom)  |  Mengurangi interval waktu, dalam satuan waktu yang diberikan, dari ekspresi datetime.  | 
|  `CAST`  |  CAST (ekspresi sebagai pola FORMAT TIMESTAMP)  |  Mengkonversi ekspresi string ke stempel waktu menggunakan pola format yang ditentukan. Pola umum termasuk `'yyyy-MM-dd HH:mm:ss'` untuk format datetime standar. Sebagai contoh, `SELECT CAST('2023-12-25 14:30:00' AS TIMESTAMP) AS converted_timestamp`.  | 

**Example dari query SQL menggunakan fungsi yang terdaftar:**  

```
SELECT r.asset_id, r.int_value,
  date_add(DAY, 7, r.event_timestamp) AS date_in_future,
  date_sub(YEAR, 2, r.event_timestamp) AS date_in_past,
  timestamp_add(DAY, 2, r.event_timestamp) AS timestamp_in_future,
  timestamp_sub(DAY, 2, r.event_timestamp) AS timestamp_in_past,
  now() AS time_now
FROM raw_time_series AS r
```

# Jenis fungsi konversi
<a name="sql-functions-type-conv"></a>

 Fungsi konversi tipe digunakan untuk mengubah tipe data dari nilai dari satu ke yang lain. Mereka sangat penting untuk memastikan kompatibilitas data dan melakukan operasi yang memerlukan data dalam format tertentu. 


|  **Fungsi**  |  **Tanda tangan**  |  **Deskripsi**  | 
| --- | --- | --- | 
|  `TO_DATE`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/iot-sitewise/latest/userguide/sql-functions-type-conv.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/iot-sitewise/latest/userguide/sql-functions-type-conv.html)  | 
|  `TO_TIMESTAMP`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/iot-sitewise/latest/userguide/sql-functions-type-conv.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/iot-sitewise/latest/userguide/sql-functions-type-conv.html)  | 
|  `TO_TIME`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/iot-sitewise/latest/userguide/sql-functions-type-conv.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/iot-sitewise/latest/userguide/sql-functions-type-conv.html)  | 
|  `CAST`  |  PEMERAN (<expression>AS<data type>)  |  Mengkonversi entitas, atau ekspresi yang mengevaluasi ke nilai tunggal, dari satu jenis ke jenis lainnya. Tipe data yang didukung adalah: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/iot-sitewise/latest/userguide/sql-functions-type-conv.html)  | 

**Example dari query SQL menggunakan fungsi yang terdaftar:**  

```
SELECT TO_TIMESTAMP (100) AS timestamp_value,
  TO_DATE(r.event_timestamp) AS date_value,
  TO_TIME(r.event_timestamp) AS time_value
FROM raw_time_series AS r
```

# Fungsi agregat
<a name="sql-functions-aggregated"></a>

 Fungsi agregat adalah operasi database yang melakukan perhitungan di beberapa baris data untuk menghasilkan hasil ringkasan tunggal. Fungsi-fungsi ini menganalisis kumpulan data untuk mengembalikan nilai yang dihitung seperti jumlah, rata-rata, hitungan, atau ukuran statistik lainnya. 


|  **Fungsi**  |  **Tanda tangan**  |  **Deskripsi**  | 
| --- | --- | --- | 
|  `AVG`  |  AVG (ekspresi)  |  Mengembalikan rata-rata ekspresi numerik.  | 
|  `COUNT`  |  COUNT (ekspresi)  |  Mengembalikan jumlah baris yang cocok dengan kriteria yang diberikan.  | 
|  `MAX`  |  MAX (ekspresi)  |  Mengembalikan nilai terbesar dari ekspresi yang dipilih.  | 
|  `MIN`  |  MIN (ekspresi)  |  Mengembalikan nilai terkecil dari ekspresi yang dipilih.  | 
|  `SUM`  |  SUM (ekspresi)  |  Mengembalikan jumlah ekspresi numerik.  | 
|  `STDDEV`  |  STDDEV (ekspresi)  |  Mengembalikan standar deviasi sampel.  | 
|  `GROUP BY`  |  KELOMPOK DENGAN ekspresi  |  Mengembalikan baris yang dibuat oleh kolom pengelompokan.  | 
|  `HAVING`  |  MEMILIKI ekspresi boolean  |  Mengembalikan baris grup disaring oleh `GROUP BY` klausa.  | 

Contoh dari semua fungsi:


|  **Fungsi**  |  **Contoh**  | 
| --- | --- | 
|  AVG  |  <pre>SELECT d.asset_id, d.property_id, AVG(d.int_value) FROM raw_time_series AS d</pre>  | 
|  COUNT  |  <pre>SELECT COUNT(d.int_value) FROM raw_time_series AS d</pre>  | 
|  MAX  |  <pre>SELECT MAX(d.int_value) FROM raw_time_series AS d</pre>  | 
|  MIN  |  <pre>SELECT MIN(d.int_value) FROM raw_time_series AS d</pre>  | 
|  JUMLAH  |  <pre>SELECT SUM(d.int_value) FROM raw_time_series AS d</pre>  | 
|  STDDEV  |  <pre>SELECT STDDEV(d.int_value) FROM raw_time_series AS d</pre>  | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/iot-sitewise/latest/userguide/sql-functions-aggregated.html)  |  <pre>SELECT MAX(d.int_value) AS max_int_value, d.asset_id <br />FROM raw_time_series AS d <br />GROUP BY d.asset_id <br />HAVING MAX(d.int_value) > 5                      <br /></pre>  | 

# Kueri contoh
<a name="sql-examples"></a>

## Pemfilteran metadata
<a name="sql-examples-meta-filter"></a>

Contoh berikut adalah untuk pemfilteran metadata dengan `SELECT` pernyataan dengan bahasa query: AWS IoT SiteWise 

```
SELECT a.asset_name, p.property_name
FROM asset a, asset_property p
WHERE a.asset_name LIKE 'Windmill%'
```

## Penyaringan nilai
<a name="sql-examples-value-filter"></a>

Berikut ini adalah contoh pemfilteran nilai menggunakan `SELECT` pernyataan dengan bahasa AWS IoT SiteWise query:

```
SELECT a.asset_name, r.int_value
FROM asset a, raw_time_series r
WHERE r.int_value > 30
AND r.event_timestamp > TIMESTAMP '2022-01-05 12:15:00'
AND r.event_timestamp < TIMESTAMP '2022-01-05 12:20:00'
```