Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
SIGN fungsi
SIGNFungsi mengembalikan tanda (positif atau negatif) dari suatu angka. Hasil dari SIGN fungsi ini adalah 1
jika argumennya positif, -1
jika argumennya negatif, atau 0
jika argumennya0
.
Sintaks
SIGN(number)
Pendapat
- jumlah
-
Angka atau ekspresi yang mengevaluasi angka. Itu bisa berupa
DECIMAL
,FLOAT8
, atauSUPER
tipe. Amazon Redshift dapat mengonversi tipe data lain sesuai aturan konversi implisit.
Jenis pengembalian
SIGNmengembalikan tipe data numerik yang sama dengan argumen masukan. Jika inputnyaDECIMAL
, outputnya adalahDECIMAL(1,0)
.
Ketika input adalah SUPER
tipe, output mempertahankan tipe dinamis yang sama dengan input sementara tipe statis tetap SUPER
tipe. Ketika tipe dinamis SUPER
bukan angka, Amazon Redshift mengembalikan angka. NULL
Contoh
Contoh berikut menunjukkan bahwa kolom d
dalam tabel t2 memiliki DOUBLE PRECISION
tipe karena inputnya DOUBLE PRECISION
dan kolom n
dalam tabel t2 memiliki NUMERIC(1,0)
sebagai output sejak inputnya. NUMERIC
CREATE TABLE t1(d DOUBLE PRECISION, n NUMERIC(12, 2)); INSERT INTO t1 VALUES (4.25, 4.25), (-4.25, -4.25); CREATE TABLE t2 AS SELECT SIGN(d) AS d, SIGN(n) AS n FROM t1; SELECT table_name, column_name, data_type FROM SVV_REDSHIFT_COLUMNS WHERE table_name='t1' OR table_name='t2';
+------------+-------------+-----------------------+ | table_name | column_name | data_type | +------------+-------------+-----------------------+ | t1 | d | double precision | | t1 | n | numeric(12,2) | | t2 | d | double precision | | t2 | n | numeric(1,0) | | t1 | col1 | character varying(20) | +------------+-------------+-----------------------+
Contoh berikut menggunakan database TICKIT sampel. Untuk informasi selengkapnya, lihat Database sampel.
Untuk menentukan tanda komisi yang dibayarkan untuk transaksi tertentu dari SALES tabel, gunakan contoh berikut.
SELECT commission, SIGN(commission) FROM sales WHERE salesid=10000;
+------------+------+ | commission | sign | +------------+------+ | 28.05 | 1 | +------------+------+