Fungsi CONVERT - Amazon Redshift

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

Fungsi CONVERT

Seperti fungsi CAST, fungsi CONVERT mengubah satu tipe data ke tipe data lain yang kompatibel. Misalnya, Anda dapat mengonversi string ke tanggal, atau tipe numerik menjadi string. CONVERT melakukan konversi runtime, yang berarti konversi tidak mengubah tipe data nilai dalam tabel sumber. Itu hanya berubah dalam konteks kueri.

Tipe data tertentu memerlukan konversi eksplisit ke tipe data lain menggunakan fungsi CONVERT. Tipe data lain dapat dikonversi secara implisit, sebagai bagian dari perintah lain, tanpa menggunakan CAST atau CONVERT. Lihat Ketik kompatibilitas dan konversi.

Sintaks

CONVERT ( type, expression )

Argumen

jenis

Salah satu yang didukungJenis data.

ekspresi

Ekspresi yang mengevaluasi satu atau lebih nilai, seperti nama kolom atau literal. Mengkonversi nilai null mengembalikan nol. Ekspresi tidak dapat berisi string kosong atau kosong.

Jenis pengembalian

CONVERT mengembalikan tipe data yang ditentukan oleh argumen tipe.

catatan

Amazon Redshift mengembalikan kesalahan jika Anda mencoba melakukan konversi bermasalah, seperti konversi DECIMAL yang kehilangan presisi, seperti berikut ini:

SELECT CONVERT(decimal(2,1), 123.456);

atau konversi INTEGER yang menyebabkan overflow:

SELECT CONVERT(smallint, 12345678);

Contoh

Beberapa contoh menggunakan database TICKIT sampel. Untuk informasi selengkapnya tentang menyiapkan data sampel, lihat Memuat data.

Query berikut menggunakan fungsi CONVERT untuk mengubah kolom desimal menjadi bilangan bulat

SELECT CONVERT(integer, pricepaid) FROM sales WHERE salesid=100;

Contoh ini mengkonversi integer menjadi string karakter.

SELECT CONVERT(char(4), 2008);

Dalam contoh ini, tanggal dan waktu saat ini dikonversi ke tipe data karakter variabel:

SELECT CONVERT(VARCHAR(30), GETDATE()); getdate --------- 2023-02-02 04:31:16

Contoh ini mengubah kolom saletime menjadi hanya waktu, menghapus tanggal dari setiap baris.

SELECT CONVERT(time, saletime), salesid FROM sales order by salesid limit 10;

Untuk informasi tentang mengonversi stempel waktu dari satu zona waktu ke zona waktu lainnya, lihat. Fungsi CONVERT_TIMEZONE Untuk fungsi tanggal dan waktu tambahan, lihatFungsi tanggal dan waktu.

Contoh berikut mengkonversi data karakter variabel menjadi objek datetime.

SELECT CONVERT(datetime, '2008-02-18 02:36:48') as mysaletime;
catatan

Anda tidak dapat melakukan operasi CAST atau CONVERT pada tipe GEOMETRY data untuk mengubahnya ke tipe data lain. Namun, Anda dapat memberikan representasi heksadesimal dari string literal dalam format biner terkenal (EWKB) yang diperluas sebagai masukan ke fungsi yang menerima argumen. GEOMETRY Misalnya, ST_AsText fungsi berikut mengharapkan tipe GEOMETRY data.

SELECT ST_AsText('01010000000000000000001C400000000000002040');
st_astext ------------ POINT(7 8)

Anda juga dapat secara eksplisit menentukan tipe GEOMETRY data.

SELECT ST_AsText('010100000000000000000014400000000000001840'::geometry);
st_astext ------------ POINT(5 6)