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)