CONVERT fungsi - Amazon Redshift

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

CONVERT fungsi

Seperti CASTfungsinya, CONVERT fungsi mengkonversi satu tipe data ke tipe data lain yang kompatibel. Misalnya, Anda dapat mengonversi string ke tanggal, atau tipe numerik menjadi string. CONVERTmelakukan 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 CONVERT fungsi tersebut. 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

CONVERTmengembalikan tipe data yang ditentukan oleh argumen tipe.

catatan

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

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

atau INTEGER konversi yang menyebabkan luapan:

SELECT CONVERT(smallint, 12345678);

Contoh

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

Query berikut menggunakan CONVERT fungsi 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 CAST atau CONVERT operasi pada tipe GEOMETRY data untuk mengubahnya ke tipe data lain. Namun, Anda dapat memberikan representasi heksadesimal dari string literal dalam format biner (EWKB) terkenal 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)