STR (SQL Bertransaksi)
Berlaku untuk:
SQL Server (semua versi yang didukung)
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics Analytics
Platform System (PDW)
Mengembalikan data karakter yang dikonversi dari data numerik. Data karakter dibenarkan dengan benar, dengan panjang dan presisi desimal yang ditentukan.
Sintaks
STR ( float_expression [ , length [ , decimal ] ] )
Catatan
Untuk melihat sintaks transact-SQL untuk SQL Server 2014 dan yang lebih lama, lihat Dokumentasi versi sebelumnya.
Argumen
float_expression
Adalah ekspresi tipe data perkiraan numerik (float) dengan titik desimal.
panjang
Adalah panjang total. Hal ini termasuk titik desimal, tanda, digit, dan spasi. Nilai defaultnya adalah 10.
desimal
Adalah jumlah tempat di sebelah kanan titik desimal. desimal harus kurang dari atau sama dengan 16. Jika desimal lebih dari 16 maka hasilnya dipotong menjadi enam belas tempat di sebelah kanan titik desimal.
Jenis Pengembalian
varchar
Keterangan
Jika disediakan, nilai untuk parameter panjang dan desimal ke STR harus positif. Angka dibulatkan ke bilangan bulat secara default atau jika parameter desimal adalah 0. Panjang yang ditentukan harus lebih besar dari atau sama dengan bagian angka sebelum titik desimal ditambah tanda angka (jika ada). Float_expression pendek dibenarkan kanan dalam panjang yang ditentukan, dan float_expression panjang dipotong ke jumlah tempat desimal yang ditentukan. Misalnya, STR(12, 10) menghasilkan hasil 12. Ini dibenarkan dengan benar dalam tataan hasil. Namun, STR(1223, 2) memotong hasil yang diatur ke **. Fungsi string dapat ditumpuk.
Catatan
Untuk mengonversi ke data Unicode, gunakan STR di dalam fungsi konversi CONVERT atau CAST .
Contoh
Contoh berikut mengonversi ekspresi yang terdiri dari lima digit dan titik desimal menjadi string karakter enam posisi. Bagian pecahan dari angka dibulatkan ke satu tempat desimal.
SELECT STR(123.45, 6, 1);
GO
Berikut adalah hasil yang ditetapkan.
------
123.5
(1 row(s) affected)
Ketika ekspresi melebihi panjang yang ditentukan, string akan kembali ** untuk panjang yang ditentukan.
SELECT STR(123.45, 2, 2);
GO
Berikut adalah hasil yang ditetapkan.
--
**
(1 row(s) affected)
Bahkan ketika data numerik ditumpuk dalam STR, hasilnya adalah data karakter dengan format yang ditentukan.
SELECT STR (FLOOR (123.45), 8, 3);
GO
Berikut adalah hasil yang ditetapkan.
--------
123.000
(1 row(s) affected)
Lihat juga
CAST dan CONVERT (SQL Transact)
FORMAT (T-SQL)
Fungsi String (SQL Transact)
